Clojure WebSocket应用程序的nginx产品设置

Clojure WebSocket应用程序的nginx产品设置,websocket,clojure,webserver,Websocket,Clojure,Webserver,我正在尝试部署我的第一个Clojure WebSocket应用程序,我想我已经接近了。我在本地得到了很好的响应,看起来端点想要面对外部世界(我在运行netstat时看到端口是打开的),但没有响应。我确信我在nginx中的某些设置不正确 我目前已经在这台服务器上托管了一些其他网站,只想添加必要的配置来获取对wss://domain.com:8001与我的应用程序通信 这是我现在使用的位置条目: location / { proxy_pass http://localhost:8001; p

我正在尝试部署我的第一个Clojure WebSocket应用程序,我想我已经接近了。我在本地得到了很好的响应,看起来端点想要面对外部世界(我在运行
netstat
时看到端口是打开的),但没有响应。我确信我在
nginx
中的某些设置不正确

我目前已经在这台服务器上托管了一些其他网站,只想添加必要的配置来获取对
wss://domain.com:8001
与我的应用程序通信

这是我现在使用的位置条目:

location / {
  proxy_pass http://localhost:8001;
  proxy_http_version 1.1;
  proxy_set_header Connection "";
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header Host $http_host;
  proxy_set_header X-Forwarded-Proto $scheme;
  proxy_redirect off;
  access_log /var/www/logs/test.access.log;
  error_log /var/www/logs/test.error.log;
}
有人能帮我指出正确的方向吗?我的猜测是,我的配置中实际上有太多的内容,其中的内容可能不正确


**编辑:**对于感兴趣的人,我将我的工作配置(基于Erik Dannenberg的回答)放在一个文件夹中。

您还缺少两个标题,一个最小的工作配置:

location  /  {
    proxy_pass http://backend;
    proxy_http_version 1.1;
    # add the two below
    proxy_set_header Upgrade websocket;
    proxy_set_header Connection upgrade;
    # optional, but helpful if you run into timeouts
    proxy_read_timeout 86400;
}

这一版本似乎正在发挥作用。非常感谢,非常有帮助!