文章

nginx中配置跨域策略

nginx中配置跨域策略

在Nginx中,可以通过设置HTTP响应头来实现同源策略。其中,X-Frame-Options头部用于控制iframe的嵌入策略,Content-Security-Policy头部用于控制资源的加载策略。

X-Frame-Options

X-Frame-Options头部可以设置为DENYSAMEORIGINALLOW-FROM uri。例如,以下配置将不允许任何页面嵌入当前页面:

1
add_header 'X-Frame-Options' 'DENY';

如果你想只允许同源的页面嵌入,可以使用SAMEORIGIN

1
add_header 'X-Frame-Options' 'SAMEORIGIN';

如果你想允许特定的域名嵌入,可以使用ALLOW-FROM uri

1
add_header 'X-Frame-Options' 'ALLOW-FROM https://example.com';

Content-Security-Policy

Content-Security-Policy头部可以用于控制资源的加载策略,包括脚本、样式、图片等。以下是一个示例配置,它只允许加载同源的资源:

1
add_header 'Content-Security-Policy' "default-src 'self'";

如果你想允许加载特定的域名资源,可以使用script-srcstyle-src等指令。例如,以下配置允许加载来自https://example.com的脚本:

1
add_header 'Content-Security-Policy' "script-src https://example.com";
本文由作者按照 CC BY 4.0 进行授权