我在nginx中使用了自签名证书。来自 UI(React js) 的请求正在后端命中,但 NGINX 没有将 header 传递到后端。我的nginx配置文件如下:
server {
listen 443 ssl;
ssl on;
server_name SERVER_NAME;
ssl_certificate /etc/ssl/certs/nginx-selfsigned.crt;
ssl_certificate_key /etc/ssl/private/nginx-selfsigned.key;
#add_header Strict-Transport-Security max-age=31536000;
add_header Cache-Control no-cache;
location / {
root PATH_TO_FRONTEND;
try_files $uri $uri/ /index.html$is_args$args;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
location ~* api/(.*) {
proxy_pass http://127.0.0.1:8080$request_uri; // BACKEND
proxy_redirect off;
proxy_set_header Host $host;
add_header Cache-Control no-cache;
} }
我在浏览器中收到以下错误:
An SSL certificate error occurred when fetching the script.
sw.js Failed to load resource: net::ERR_INSECURE_RESPONSE
login:1 Uncaught (in promise) DOMException: Failed to register a ServiceWorker: An SSL certificate error occurred when fetching the script.
最佳答案
尝试添加
proxy_pass_header Server;
到您的位置 block 。它实际上表示将发送者的 header 传递到后端。
关于javascript - Nginx 不传递自定义 header 来访问后端(Node js),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47950749/