【发布时间】:2014-09-06 19:37:38
【问题描述】:
我有一个 Apache 网络服务器在端口 443 上提供页面,socket.io 在端口 8888 上响应。
有没有办法让安全端口 (443) 处理所有内容(即网页和 socket.io)并关闭其他所有内容?
我的许多客户只能使用 80 和 443 端口。我不想通过端口 80 发送不安全的数据。
【问题讨论】:
标签: node.js apache ssl socket.io
我有一个 Apache 网络服务器在端口 443 上提供页面,socket.io 在端口 8888 上响应。
有没有办法让安全端口 (443) 处理所有内容(即网页和 socket.io)并关闭其他所有内容?
我的许多客户只能使用 80 和 443 端口。我不想通过端口 80 发送不安全的数据。
【问题讨论】:
标签: node.js apache ssl socket.io
您可以使用 apache 侦听 443 并根据 url 在端口 8888 上“反向”代理对 socket.io 的请求。
此处已提出类似问题:Apache, NodeJS and socket.io: Use Apache or NodeJS as Reverse-Proxy?、http://www.apachetutor.org/admin/reverseproxies 和 http://www.microhowto.info/howto/configure_apache_as_a_reverse_proxy.html
官方 apache 文档在这里:https://httpd.apache.org/docs/2.4/mod/mod_proxy.html#proxypassreverse
【讨论】:
看起来mod_proxy_wstunnel 可能会满足您的需求:
ProxyPass /wss2/ ws://localhost:8888/
【讨论】: