JS 文件未通过 HTTPS 提供

JS file not being served over HTTPS

我在一个网站上启用了 HTTPS,我发现一个 JS 文件在从我的模板中的脚本标记请求时一直正确提供,但现在一直失败。

有效的请求类似于:

http://dev.mysite.com:54346/socket.io/socket.io.js

没有的也没什么不同:

https://dev.mysite.com:54346/socket.io/socket.io.js

查看 lsof -i :5346top 的输出并停止脚本我已经能够弄清楚我们以 forever 开始的节点脚本实际上以某种方式回答请愿书有效,但另一个无效。我不太了解节点,但查看该脚本的代码及其要求 (socket.io) 我没有看到任何让我认为它只能用于 HTTP 而不能用于 HTTPS 的东西。

我实际上不明白它是如何工作的,因为我还没有看到 Apache 的任何配置甚至可能远程意味着 "redirect this requests to this process"。

我能想到的唯一解决方案是将请愿书通过 HTTPS 重定向到 HTTP,但我尝试使用 mod_proxymod_rewrite,但一点运气都没有。

提前致谢!

听起来像是端口问题。如果服务器配置为将端口 54346 用于 http,则您需要为 https 设置另一个端口。您是否使用过 Fiddler 或其他工具来查看您的安全服务器所在的端口?我通常将 80 用于 http,443 用于 https。

有关 Apache 服务器绑定端口的信息,请参阅 http://httpd.apache.org/docs/current/bind.html

我要把它标记为已解决,因为我们现在非常确定它更像是一个 nodejs 问题,而不是 Apache conf 问题。无论如何,谢谢埃德·威廉姆斯!