我在我的应用程序前面使用 nginx 作为代理来终止 TLS。我将它设置为侦听端口 80 并重定向到 443。
最初 Chromium 会下载一个名为“download”的文件而不是重定向,但由于某种原因它不再这样做了(我尝试了这个问题中的建议,但没有帮助)。虽然 Chromium 正确重定向,即使问题显然仍然存在,但 Firefox 仍然通过假设它是文件下载来对此做出反应:
问题在 curl 中最为明显:
curl -v http://example.com
* Rebuilt URL to: http://example.com/
* Trying 54.213.157.146...
* Connected to example.com (54.213.157.146) port 80 (#0)
> GET / HTTP/1.1
> Host: example.com
> User-Agent: curl/7.50.0
> Accept: */*
>
* Connection #0 to host example.com left intact
????
Run Code Online (Sandbox Code Playgroud)
而不是返回通常的标题/状态/等。它似乎正在发回二进制数据。同时 https 版本似乎可以正常工作:
curl -v https://example.com
* Rebuilt URL to: https://example.com/
* Trying 54.213.157.146...
* Connected to example.com (54.213.157.146) …Run Code Online (Sandbox Code Playgroud) nginx ×1