通过 UNIX 套接字使用外部 NGINX 代理修复 SSL 混合内容错误

你好,

我最近使用“socketed”模板在我现有的 NGINX 服务器后部署了一个 Discourse 实例。一切运行正常,但 Web Worker 进程在通过 HTTP 请求资源时触发了混合内容警告。我的服务器已配置为将所有 HTTP 请求 301 重定向到 HTTPS,但这似乎还不够严格,无法满足 Chrome 验证器的要求,导致图片无法加载,并出现对至少部分用户来说听起来很吓人的安全警告。

这是 Chrome 记录的错误:

我只需要强制 Web Worker 使用 HTTPS URL 发起请求,有没有简单的方法可以实现?

我尝试启用了 SSL 模板,但这似乎对 Web Worker 请求的内容没有任何影响,Chrome 仍然报同样的错误。

我更希望保留 socket-proxy 配置,因为 NGINX 无论如何都会作为此部署的前端,而且将所有 SSL/前端配置集中在一个地方来管理服务器上运行的所有应用程序,会更便于维护。

有一个站点设置 force_https。您可以设置此环境变量

DISCOURSE_FORCE_HTTPS=true