首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >意外响应码: 502 nginx

意外响应码: 502 nginx
EN

Stack Overflow用户
提问于 2013-01-19 01:44:39
回答 1查看 1.4K关注 0票数 0

我有以下设置:

作为代理运行的nginx服务器:

代码语言:javascript
复制
server {
    server_name  domain.tld;
    location / {
            # For Read Requests
            proxy_pass http://XXX.XXX.XXX.XXX;
            proxy_set_header        Host            $host;
            proxy_set_header        X-Real-IP       $remote_addr;
            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    }
    location ~* "(/config.json|/nowjs/now.js|socket.io|/stat/1.gif)" {
            proxy_pass http://127.0.0.1:9080;
            proxy_set_header        Host            $host;
            proxy_set_header        X-Real-IP       $remote_addr;
            proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

其中XXX.XXX是我的静态内容页面和资产的IP域。

我有一个简单的聊天应用程序,运行在与端口9080上的nginx相同的服务器上

在我的index.html页面中,我有这样的代码:

代码语言:javascript
复制
  <div id="chat">
    <div id="messages"></div>
    <input type="text" id="text-input" />
    <input type="button" value="Send" id="send-button" />
  </div>

  <script type="text/javascript" src="http://domain.tld/nowjs/now.js"></script>
  <script type="text/javascript">
    $(document).ready(function(){
        now.receiveMessage = function(name, message){
        $("#messages").append('<br />' + '<a href="${path}">' + name + '</a>' + ': ' + message);
        }
        $("#send-button").click(function(){
        now.distributeMessage($("#text-input").val());
        $("#text-input").val("");
        });
      now.name = "${name}";
    });
  </script>

下面是app.js文件:

代码语言:javascript
复制
var server = require('http').createServer(function(req, res){
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Chat Server\n');
});
server.listen(9080);

var nowjs = require("now");
var everyone = nowjs.initialize(server);

everyone.now.distributeMessage = function(message){
  console.log('User '+this.now.name+' added message ' +message);
  everyone.now.receiveMessage(this.now.name, message);
};

一切似乎都运行正常,尽管我一直收到意外的响应代码: 502当页面加载时!

有没有办法为nginx启用web代理,因为进一步使用Firefox Firebug,我得到了这个错误:

代码语言:javascript
复制
Firefox can't establish a connection to the server at ws://domain.tld/socket.io/1/websocket/-WFvaQTvzASDBMHNpUGA.

任何建议都非常感谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-19 02:28:14

我改变了:

代码语言:javascript
复制
var everyone = nowjs.initialize(server);

代码语言:javascript
复制
var everyone = nowjs.initialize(server, {socketio: {transports: ["xhr-polling"]}});

似乎已经完成了任务。

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

https://stackoverflow.com/questions/14404581

复制
相关文章

相似问题

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