nginx - 未添加 nginx 标头
问题描述
我正在尝试将 CORS 标头添加到我的 nginx 服务器。我尝试了以下方法:
include mime.types;
server {
listen 80;
listen [::]:80;
server_name #domain;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
server_name #domain;
location / {
if ($request_method = 'OPTIONS') {
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Headers' 'Origin, X-Requested-With, Content-Type, Accept, Authorization';
add_header 'Access-Control-Allow-Methods' 'GET, POST, PATCH, PUT, DELETE, HEAD, OPTIONS';
add_header 'Access-Control-Max-Age' 1728000;
add_header 'Content-Type' 'text/plain charset=UTF-8';
add_header Strict-Transport-Security “max-age=15768000” always;
add_header 'Content-Length' 0;
return 204;
}
if ($request_method ~* '(POST|GET|PUT|PATCH|DELETE)') {
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Headers' 'Origin, X-Requested-With, Content-Type, Accept, Authorization';
add_header 'Access-Control-Allow-Methods' 'GET, POST, PATCH, PUT, DELETE, HEAD, OPTIONS';
add_header Strict-Transport-Security “max-age=15768000” always;
}
proxy_pass http://localhost:3000;
}
ssl_certificate /etc/letsencrypt/live/domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/domain.com/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
ssl_session_cache shared:SSL:5m;
ssl_session_timeout 1h;
}
但是,虽然 GET 和 OPTIONS 添加了它们的标题,但其他方法没有。我看到只有在上一个级别没有标题时才会添加标题,所以我尝试将它们都放在同一级别。难道我做错了什么?
解决方案
推荐阅读
- javascript - Javascript:检测何时添加了不可检索的 src 的 iframe
- javascript - .onclick() 仅在第一个按钮上触发
- ios - iOS 13 - UIBarButtonItem 尺寸太小
- laravel - 复杂场景下的 Laravel 查询结果
- anaconda - 使用 SymPy (macOS) 安装 Octave 符号包 - 无法让 SymPy 工作
- c++ - 你可以在没有朋友标签的情况下重载c ++中的<<运算符吗
- vb.net - 从 form1 更新 form2 的列表框而不再次创建 form2
- debugging - 调试 API 时如何在 Postman 控制台中查看 ChromeLogger 输出?
- arrays - 动态/列表/数组变量颤动上的 setState
- java - RxJava 与 JavaFx 的性能差