【问题标题】:Nginx not passing custom headers to hit the backend(Node js)Nginx 没有通过自定义标头来打后端(Node js)
【发布时间】: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


【解决方案1】:

尝试添加

proxy_pass_header Server;

到您的位置块。它实际上表示将发送者的标头传递到后端。

【讨论】:

  • 它仍然没有将标头传递给后端@kshikama
  • 嗯不知道。如果您没有得到任何其他答案,我建议关闭 SSL(切换到端口 80)并注释掉 cache-control no-cache 并查看是否有任何影响。
  • 我想要 SSL 来满足我的一项要求。无论如何,感谢@kshikama 的努力。
  • 是的,我不建议永久关闭它——只是为了调试。
  • 如果 SSL 关闭,它可以工作。我认为 NGINX 配置有问题。请求到达后端,但 NGINX 阻止了标头。
【解决方案2】:

我有同样的问题。显然 nginx 阻止了其中有下划线的自定义标头。如果您在标题中使用下划线,请查看此内容:https://serverfault.com/a/1003572

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-31
    • 2015-04-17
    • 1970-01-01
    • 2016-12-10
    • 1970-01-01
    • 1970-01-01
    • 2020-04-28
    • 1970-01-01
    相关资源
    最近更新 更多