[英]Create a Reverse Proxy in NodeJS that can handle multiple secure domains
我正在尝试在NodeJS中创建反向代理。 但是我一直在运行这个问题,因为我只能在同一个端口(443)上提供一组证书/密钥对,即使我想服务多个域。 我已完成研究并继续遇到同样的路障:
如果有人能够向我展示一个服务多个安全域的示例,每个安全域都使用自己的证书来自相同的端口号(443),使用NodeJS和https.createServer或node-http-proxy,我将感激不尽。
Redbird实际上非常优雅,也不太难配置。
让我通过域头动态地为SSL证书服务
没有域头,所以我猜你的意思是HTTP请求中的Host头。 但是,这不起作用,因为
以前,您需要为每个SSL证书提供一个IP地址。 当前的浏览器确实支持SNI(服务器名称指示),它发送已经在SSL层内的预期目标主机。 看起来node.js支持这一点,寻找SNICallback
。 但是,要注意那里仍然有足够的库,要么根本不支持客户端的SNI,要么显然需要使用它。 但是,只要您只想支持浏览器,这应该没问题。
这是您可能正在查看的解决方案,我发现它对我的实现非常有用,但您需要进行大量自定义来处理域
node-http-rev代理: https : //github.com/nodejitsu/node-http-proxy
如何在不同的端口上创建SSL服务器,并使用node-http-proxy作为443上的服务器来根据域中继请求。
你声明你不想使用nginx,我不明白为什么。 您可以为nginx设置多个位置。 让他们每个人都在端口443上监听不同的主机名和所有主机名。将所有这些主机名都传递给您的nodejs服务器。 根据我的理解,这符合您的所有要求,并且是最先进的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.