【发布时间】:2018-06-05 15:40:28
【问题描述】:
我在 nginx 中使用了自签名证书。来自 UI(React js)的请求在后端命中,但 NGINX 没有将标头传递给后端。我的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;
} }
我在浏览器中收到以下错误:
获取脚本时发生 SSL 证书错误。
sw.js 加载资源失败:net::ERR_INSECURE_RESPONSE
login:1 Uncaught (in promise) DOMException: Failed to register a ServiceWorker:获取 SSL 证书时发生错误 脚本。
【问题讨论】:
-
您是在尝试调试“NGINX 没有将标头传递到后端”的事实还是浏览器错误?如果您使用的是自签名证书,您的浏览器自然不会接受它。
-
@kshikama 我有点困惑为什么 NGINX 没有将标头传递给后端。
标签: javascript node.js reactjs nginx npm