【问题标题】:"No-referrer-when-downgrade" Nginx 502“降级时无推荐人” Nginx 502
【发布时间】:2021-01-13 00:34:36
【问题描述】:

我网站的某些页面出现 502 错误,我不明白为什么某些页面可以正常工作,但其他页面显示此错误:

请求方法:POST 状态码:502 网关错误 推荐人政策:降级时不推荐人

【问题讨论】:

  • 您在提供信息方面必须更加坦率一些。你的代码在哪里?请阅读stackoverflow.com/help/mcve 以获取有关如何提问的帮助。

标签: nginx


【解决方案1】:

问题

您在 Nginx 中将Referer Policy 设置为“no-referer-when-downgrade”,这意味着在降级(httpS 提交到简单的 http)的情况下不会发送引用信息(作为您的表单 URL)。而且你背后的代码不喜欢没有这条信息。

解决方案

  1. 最好将所有内容传递给 https :)

  2. 在你的 nginx.conf 中更改,策略为:

     add_header 'Referrer-Policy' 'same-origin';
    
  3. 如果 2. 不起作用,请按照 1. 中的方法进行操作,或者您也可以(但 请 不要那样做,这很不安全):

     add_header 'Referrer-Policy' 'unsafe-url';
    

更多: Mozilla's reference documentation about Referer Policy.

注意: origin 只会设置没有 URI 的基本 URL,例如 https://domain-name.com/。而same-origin 会将完整的安全 URL 设置为引用者,如果它来自同一个域。这是安全的,因为标头是在 :433 安全端口侦听上传递的。

【讨论】:

  • 您能否更具体地说明放置配置的位置?你有例子吗?
  • @Paolo nginx.conf 位于不同的位置,具体取决于您的操作系统。在 debian 上,它位于 /etc/nginx/ Google "nginx.conf your operating system"
  • 谢谢 Erdal,我用更多细节打开了这个问题,stackoverflow.com/questions/60002830/… 问题是我试图将这一行放在 conf 中但没有结果。
  • 谢谢,来自 W3C 文档,如果我想获得引用者的完整 URL,add_header Referrer-Policy 'same-origin'; 是适合我的方式。 origin 停留在没有 URI 的域 URL。
  • @KeitelDOG 不错!
【解决方案2】:

我在设置 Sonarqube 时遇到了这个问题。 Sonarqube 默认在 127.0.0.1:9000 上运行,但是,我试图使用私有 IP 地址访问浏览器。我犯了同样的错误,将那个 IP 地址放在下面的配置中:

server { 
    location / {
        proxy_pass http://<server_ip>:<port>;
    }
}

我错误地将其设置为服务器的实际私有 IP 地址,而我应该将其设置为 http://localhost:&lt;port&gt;;

在这样做之后,我的应用程序运行正常......我希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 2014-07-29
    • 2021-05-28
    • 2017-09-12
    • 1970-01-01
    • 1970-01-01
    • 2011-01-03
    • 2011-02-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多