nginx代理WebSocket配置

这篇具有很好参考价值的文章主要介绍了nginx代理WebSocket配置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

代理WebSocket的示例配置

# /etc/nginx/conf.d/proxy-http.conf 
server {
    listen 8080;
    server_name api.mydomain.com;

    location / {
        proxy_pass http://backend;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_connect_timeout   5;
        proxy_read_timeout      90s;
        proxy_send_timeout      10s;
    }
}

参数说明

  • proxy_http_version

设置代理到upstream的http协议版本,必须设置;默认可能会采用http/1.0,会导致协议升级切换失败。

  • Proxy header Upgrade & Connection

使nginx将协议切换到WebSocket,必须明确定义、或判断客户端是否需要升级协议并向upstream传递该值。

http {
    # 匹配变量http_upgrade的值,根据匹配情况为变量connection_upgrade赋值
    map $http_upgrade $connection_upgrade {
        default upgrade;
        ''      close;
    }

    server {
        ...

        location /chat/ {
            proxy_pass http://backend;
            proxy_http_version 1.1;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection $connection_upgrade;
        }
    }
  • proxy_read_timeout

定义从代理服务器读取响应的超时时间;保持长连接最终依靠的是心跳机制,此值根据客户端心跳间隔合理设置,一般比心跳间隔大一些时间。文章来源地址https://www.toymoban.com/news/detail-573953.html

到了这里,关于nginx代理WebSocket配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Nginx代理nginx.conf配置——反向代理(对WebSocket支持)

    基于Nginx代理nginx.conf配置——反向代理,如果要添加websocket支持,需要进行如下配置 在http中添加一下配置,添加对websocket支持 配置后重新运行nginx后,websocket即可成功代理。 注意防火墙端口是否开放、nginx如果使用docker,其对应的端口是否映射出来。

    2024年02月13日
    浏览(38)
  • nginx反向代理webSocket程序并配置SSH端口

    需求背景:当前有个网页版的XShell项目(webSocket程序同理),需要使用到nginx做反向代理 XShell项目是Java开发的,端口为: 9017 ,与nginx部署在同一台Linux中 在sbin文件夹中,执行命令: 查看是否出现 configure arguments: --with-stream 存在上述参数,证明支持SSH,如: 不存在上述参数,

    2024年02月12日
    浏览(41)
  • 如何使用宝塔面板配置Nginx反向代理WebSocket(wss)

    本章教程,主要介绍一下在宝塔面板中如何配置websocket wss的具体过程。 目录 一、添加站点 二、申请证书 三、配置代理  1、增加配置内容

    2024年02月21日
    浏览(50)
  • Nginx代理WebSocket方法

    微信公众号:运维开发故事,作者:姜总 大家好,我是小姜。 前一篇文章讲了一下什么是WebSocket协议,这里在回顾一下,并且聊一聊如何用nginx来代理WebSocket。 WebSocket是HTML5下一种新的协议。它实现了浏览器与服务器全双工通信,能更好的节省服务器资源和带宽并达到实时通

    2024年02月07日
    浏览(36)
  • nginx代理webSocket链接响应403

    使用nginx代理webSocket链接,nginx响应403 1、nginx访问日志响应403 2、浏览器链接失败 是 proxy_set_header Origin xxx 导致的 Origin xxx的具体作用不明确,有知道的欢迎留言 proxy_set_header Origin xxx 改为 proxy_set_header Origin \\\"\\\" 最终配置如下 补充:使用 WSS 访问时,如果不是 443 端口,也会出现

    2024年02月11日
    浏览(41)
  • Nginx服务、Vite项目如何设置ws(websocket)代理?

    最近干活中遇到请求访问地址代理的问题,http请求代理到是没啥问题,主要是WebSocket代理配置,今天折腾了一上午加下午一小时,才将其配置好,主要是部署服务器的时候nginx这一块不太清楚,作为一个初级前端,确实还有待提高。本文主要细致的讲解一下ws代理如何设置,

    2024年01月25日
    浏览(42)
  • 在docker 环境中 websocket 通过nginx代理 不通 怎么解决

    如果你在 Docker 环境中使用 WebSocket 并通过 Nginx 进行代理,可能需要进行一些额外的配置才能使 WebSocket 正常工作。 下面是一些可能会导致 WebSocket 代理失败的问题以及相应的解决方法: 检查 Nginx 配置 在 Nginx 配置中,确保已经正确地设置了 proxy_pass 和 proxy_http_version ,如下所

    2024年02月03日
    浏览(35)
  • 如何给websocket配置代理

    最近在工作中遇到websockt代理问题,领导不想让socket地址写死,需要动态配置。 一般socket地址 代理socket地址 这里的wsUrl可以是任意字符,只做代理使用,用户请求拦截标识,实际请求要去掉它。 注意: 这里需要使用rewrite去掉代理标识,因为这在实际的websockt地址中是不存在的

    2024年04月16日
    浏览(20)
  • nginx(六十九)nginx配置websocket

    一    知识铺垫 ①  websocket基础知识 ②  proxy_set_header ③  HTTP协议升级机制 ④  协议 升级 的原理  ⑤  Connection和Upgrade头 Connection RFC文档解读 为什么HTTP Upgrade的时候,需要Connection: upgrade ⑥   逐跳头部 hop-by-hop header  重点 Connection Keep-Alive Proxy-Authenticate Proxy-Authorization TE

    2024年02月16日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包