2012-01-27 49 views
0

我有以下基礎設施,並希望使用運行Openfire服務器的內部xmpp服務器(服務器2)提供在線網絡聊天(在服務器1上)。HTTP綁定代理/網關

灣< ---->服務器1 < ---->服務器2

服務器1只能達到服務器2通過HTTP代理。所以我需要在服務器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. 

有什麼不對?

回答

0

通常服務器1將運行:

  1. 代理
  2. 運行你的聊天應用Web服務器。

讓我們假設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/; 
     } 

    } 

相應地適應其他一些代理。

+0

我可以配置nginx使用代理來訪問服務器2嗎? – CSchulz 2012-02-04 13:49:13

+0

當然,nginx會代理你的其他代理。不是什麼意思,但是你可以 – ggozad 2012-02-04 15:07:13

+0

但是nginx必須使用代理來訪問服務器2. – CSchulz 2012-02-04 16:40:27