首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NGINX Websockets和SSL配置

问NGINX Websockets和SSL配置
EN

Unix & Linux用户
提问于 2018-09-28 21:19:07
回答 1查看 1.3K关注 0票数 1

我正在尝试建立一个websocket连接(wss)。我的域名使用ssl (certbot),由Nginx提供动力。我不知道如何配置我的/etc/nginx/sites-available/domain.com文件。

代码语言:javascript
复制
server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
...
}

我在配置块中添加了以下内容:

代码语言:javascript
复制
location /websocket {
    proxy_pass         https://domain.com;
    proxy_http_version 1.1;
    proxy_set_header   Upgrade $http_upgrade;
    proxy_set_header   Connection "upgrade";
    proxy_set_header   Host $host;
}

当连接via:wss://domain.com/时,我收到一个错误

代码语言:javascript
复制
WebSocket connection to 'wss://domain.com/' failed: 
Error during WebSocket handshake: Unexpected response code: 200

这里的大多数例子都是使用nodejs框架为他们的站点服务,但我使用的是php。

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2018-09-28 21:30:28

websocket端点是在提供的nginx配置中配置的,该配置位于服务器内的/websocket位置,但您正在尝试连接到根URL wss://domain.com。

websocket连接是一个普通的HTTP (在本例中是带有TLS包装器的)会话,直到进行升级,所以您必须确保用于访问服务的URL包括所有相关的路径指示符,例如wss://domain.com/websocket。

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

https://unix.stackexchange.com/questions/472162

复制
相关文章

相似问题

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