首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nginx + SSL + Rails + Juggernaut (Node.js) + Engineyard

Nginx + SSL + Rails + Juggernaut (Node.js) + Engineyard
EN

Server Fault用户
提问于 2012-03-15 21:15:42
回答 1查看 636关注 0票数 1

我在同一台服务器上有两个不同的应用程序。其中一个在80个端口(mydomain.com)上运行,另一个在端口443 (sub.mydomain.com)上运行,并且具有通配符证书。

第一个应用程序仅用于信息目的,不需要websockets支持。第二个应用程序应该具有安全的websockets (wss协议)。

我试图为我的rails应用程序(为websockets)在工程云上安装nginx服务器,但我有一个问题。Engineyard只提供两个打开的端口: 80和443。我知道nginx并不完全支持HTTP1.1反向代理,所以我不能使用从nginx来将websockets请求重定向到特定的本地端口(在我的例子中,这个端口是8080)。

我尝试过使用HAProxy,当我只使用不安全的websockets时,它对我来说是有用的,但是我需要支持安全的websockets。如我所知,在本例中,我应该使用类似于STunnel的东西来隧道我的https请求,而不是使用HAProxy,但是当我测试它时,我发现服务器的工作速度要慢几倍,而且我仍然没有使用安全套接字连接:

也许我做错了什么?也许有人会告诉我们如何为多个应用程序设置nginx (其中一个应该通过https工作),并且只使用两个端口(80和443)来保护websockets。

附注:此外,我还使用了一个节点-http-代理,在本例中,我能够为不同的nginx应用程序设置代理,但我没有运行websockets (仅用于通过nginx进行“握手”,而不是“交换协议”)。

EN

回答 1

Server Fault用户

发布于 2012-04-02 18:02:38

正常的反向代理对websocket连接不起作用。Nginx有一个补丁,它添加了一个与websockets兼容的tcp代理特性。

关于组合的好文章:http://blog.mixu.net/2011/08/13/nginx-websockets-ssl-and-socket-io-deployment/

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/370248

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档