HTTP绑定的代理/网关

时间:2012-01-27 10:17:44

标签: http proxy xmpp bosh

我有以下基础设施,并希望使用运行Openfire服务器的内部xmpp服务器(服务器2)提供在线网络聊天(在服务器1上)。

wan< ---->服务器1< ---->服务器2

服务器1只能通过HTTP代理到达服务器2。所以我需要在服务器1上获得HTTP绑定或其他东西的可能性,它为JWChat或Co等网络聊天提供绑定。 我认为简单的重定向到服务器2上的HTTP绑定会很好,但我不知道如何。

也许还有另一种可能,感谢任何建议。

编辑:
nginx配置现在如下所示:

server {
    listen       8000;
    server_name  server1 localhost;

    location ~ ^/http-bind {
        proxy_pass http://server2:8085;
    }

    location / {
        proxy_pass http://proxy:3128;
    }
}

但是以下命令无法正常工作:

-bash-4.1# wget http://localhost:8000
--2012-02-06 10:57:14--  http://localhost:8000/
Resolving localhost... 127.0.0.1
Connecting to localhost|127.0.0.1|:8000... connected.
HTTP request sent, awaiting response... 400 Bad Request
2012-02-06 10:57:14 ERROR 400: Bad Request.

-bash-4.1# wget http://localhost:8000/http-bind
--2012-02-06 10:57:21--  http://localhost:8000/http-bind
Resolving localhost... 127.0.0.1
Connecting to localhost|127.0.0.1|:8000... connected.
HTTP request sent, awaiting response... 502 Bad Gateway
2012-02-06 10:57:21 ERROR 502: Bad Gateway.

有什么问题?

1 个答案:

答案 0 :(得分:0)

通常服务器1将运行:

  1. 代理
  2. 运行聊天应用的网络服务器。
  3. 让我们假设nginx是在端口80上运行的代理,以及您选择在端口8080上运行的Web服务器。还假设您的Web客户端将绑定到/http-bind。然后你的nginx配置将包含:

        server {
            listen       80;
            server_name  server1;
    
            location ~ ^/http-bind {
                proxy_pass http://server2:5280;
            }
    
            location / {
                proxy_pass http://localhost:8080/;
            }
    
        }
    

    相应地适应其他代理。