Ubuntu Nginx 配置使用WSS¶
更新日期 2022-7-6
- 2022-7-6 修复链接
- 2022-6-27 增加nginx拓展
- 2022-5-7 跨域说明
- 2022-5-6 更新说明
- 2022-5-5 创建文档
运行环境与工具
- Ubuntu 16.04.1 LTS
- nginx 1.10.3 (Ubuntu)
- pm2 4.4.1
证书与域名¶
准备一个域名,例如 antalkws.rustfisher.com
申请这个域名的SSL证书,并部署到服务器上
Nginx配置¶
服务器的Ubuntu用的是Nginx,配置一下 /etc/nginx/sites-enabled/
目录里的文件
指定talkwebsocket
,使用的是本地9002端口
监听端口是443。如果启用了防火墙,要让防火墙允许这个端口。
转发到上面定义的talkwebsocket
proxy_read_timeout 300s
表示连上后300秒后无消息则自动断开
超时会报 1006 Abnormal Closure
这样Nginx配置就弄好了。
测试¶
用postman来测试验证
postman验证
记得要选择Raw
类型
可以看到连接时间和断开时间,相差300秒
我们并没有配置ws的情况,如果用postman尝试连接ws则会报错
postman 连接ws情况
跨域问题¶
关于跨域问题,如果我们在服务的代码中进行了配置,nginx这边是不需要额外配置的。
不需要配置跨域了
把add_header
相关的注释掉
location / {
proxy_pass http://talkwebsocket;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_read_timeout 300s;
# add_header 'Access-Control-Allow-Origin' '*';
# add_header 'Access-Control-Allow-Credentials' 'true';
# add_header 'Access-Control-Allow-Methods' 'OPTION, POST, GET';
# add_header 'Access-Control-Allow-Headers' 'X-Requested-With, Content-Type';
}
附录 centos nginx¶
centos7上配置使用nginx
先找一下nginx的路径
确定nginx路径为/usr/local/nginx/sbin
编辑 /etc/profile
添加nginx的路径给PATH
本站说明
一起在知识的海洋里呛水吧。广告内容与本站无关。如果喜欢本站内容,欢迎投喂作者,谢谢支持服务器。如有疑问和建议,欢迎在下方评论~