首先前提是我们有Ubuntu操作系统和已经安装好的Tengine软件
1、编写我们的websocket服务,凑巧我的服务是控制台应用程序,只能是ip:port的形式访问,这给我们造成了一定的困扰和麻烦。
2、
现有的服务:ws://192.168.20.35:9962/Chat
现有的Ubuntu服务器IP:192.168.183.134 (已经安装Tengine)
现有域名:demo3.com,host文件配置指向Ubuntu服务器
3、最终目的是用ws://demo.com来访问我们的ws://192.168.20.35:9962服务
4、直接来Tengine配置
server { listen 80; server_name demo3.com; client_max_body_size 10m; location / { proxy_pass http://192.168.20.35:9962; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_connect_timeout 4s; proxy_read_timeout 60s;//长连接必要 proxy_send_timeout 12s; } }
5、配置ssl证书
server { listen 80; listen 443 ssl; server_name demo3.com; ssl_certificate ../cert/1823960__demo3.com.pem; ssl_certificate_key ../cert/1823960__demo3.com.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; location / { proxy_pass http://192.168.20.35:9962; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header X-Real-IP $remote_addr; proxy_connect_timeout 4s; proxy_read_timeout 60s; proxy_send_timeout 12s; } }
注意看坑的地方,proxy_pass 代理的并不是ws协议,而是http协议,这一点我听说ws协议和http相似,但是没想到这么玩儿的。
这时候,我们就完成了
留下您的脚步
最近评论