Nginx   发布时间:2022-05-11  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了TeamCity,nginx和Websockets – 501错误大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

我目前正在使用Nginx反向代理设置TeamCity,但我的浏览器出错了.错误如下:

WebSocket connection to 'ws://ci.example.net/app/subscriptions?X-Atmosphere-tracking-id=0&X-Atmosphere-Framework=2.2.7-javascript&X-Atmosphere-Transport=websocket&X-Atmosphere-TrackmessageSize=true&X-atmo-protocol=true&browserLOCATIOnHost=http%3A%2F%2Fci.example.net' Failed: Error during WebSocket handshake: Unexpected response code: 501

我查看了Nginx错误日志和TeamCity错误日志,两者都显示为空.

我的Nginx配置如下:

server {
  listen 80;
  server_name ci.example.net;

  error_log /var/log/Nginx/error.log;
  proxy_intercept_errors on;

  error_page 401 403 404 /404.html;

  LOCATIOn / {
    proxy_set_header        Host $host;
    proxy_set_header        X-Real-IP $remote_addr;
    proxy_set_header        X-ForWARDed-For $proxy_add_x_forWARDed_for;
    proxy_set_header        X-ForWARDed-Proto $scheR_11_11845@e;

    proxy_pass          http://127.0.0.1:8111;
    proxy_read_timeout  90;

    proxy_redirect      http://127.0.0.1:8111 http://ci.fluxmc.net;
  }
}

#Websocket configuration
map $http_upgrade $connection_upgrade {
    default upgrade;
    ''   '';
}

server {
    listen 400;
    server_name ci.example.net;

    error_log /var/log/Nginx/error.log;
    proxy_intercept_errors on;

    LOCATIOn /tc {
        proxy_pass http://localhost:8111/tc;
        proxy_http_version 1.1;
        proxy_set_header X-ForWARDed-For $remote_addr;
        proxy_set_header Host $server_name:$server_port;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $connection_upgrade;
    }
}

我真的不确定从哪里开始,我几乎完全遵循了documentation for TeamCity.如果您能提供任何帮助,我将不胜感激!

最佳答案
TeamCity的文档使a couple of assumptions无法满足您的要求:

在您的情况下,TeamCity对外界可见URL:http://ci.example.net.

这会改变您的Nginx配置,如下所示:

server {
  listen 80;
  server_name ci.example.net;

  error_log /var/log/Nginx/error.log;
  proxy_intercept_errors on;

  error_page 401 403 404 /404.html;

  LOCATIOn / {
    proxy_set_header        Host $host;
    proxy_set_header        X-Real-IP $remote_addr;
    proxy_set_header        X-ForWARDed-For $proxy_add_x_forWARDed_for;
    proxy_set_header        X-ForWARDed-Proto $scheR_11_11845@e;

    proxy_pass          http://127.0.0.1:8111;
    proxy_read_timeout  90;

    proxy_redirect      http://127.0.0.1:8111 http://ci.fluxmc.net;
    proxy_http_version  1.1;
    proxy_set_header    Upgrade $http_upgrade;
    proxy_set_header    Connection $connection_upgrade;
  }
}

#Websocket configuration
map $http_upgrade $connection_upgrade {
    default upgrade;
    ''   '';
}

对我来说,这足以让TeamCity的websocket连接工作.

大佬总结

以上是大佬教程为你收集整理的TeamCity,nginx和Websockets – 501错误全部内容,希望文章能够帮你解决TeamCity,nginx和Websockets – 501错误所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: