背景:客戶為了安全起見,只允許對外伺服器僅開啟80埠。而我們部署的系統包括一個IM模組,使用的xmpp協定。所以就有以下問題。
如下是nginx的access log:
192.168.1.113 - - [19/Mar/2015:17:08:42 +0800] "<?xml version=1.0\x22?>" 400 172 "-" "-"
192.168.1.113 - - [19/Mar/2015:17:08:46 +0800] "<?xml version=1.0\x22?>" 400 172 "-" "-"
請問:nginx設定檔該如何寫?
================
#如下這些情況的都會處理。僅僅上面這種情況時第一次遇見。
192.168.1.113 - - [19/Mar/2015:17:08:42 +0800] "POST /http-bind HTTP/1.1" 400 172 "-" "-"
192.168.1.113 - - [19/Mar/2015:17:08:46 +0800] "POST /login HTTP/1.1" 400 172 "-" "-"
nginx 又不支援 XMPP 協定。你用 BOSH 吧,但是需要客戶端支援。
你也可以寫個 nginx 模組,當請求是 XML 時轉送到後端 XMPP 伺服器。當然另一個方案是在 nginx 前邊加個自己寫的程式碼程序,看請問問 nginx 或 XMPP。
為什麼只開放80埠。就算是nginx轉寄…那不也是直接訪問了XMPP? nginx有做什麼鑑權驗證嗎?
另外,nginx支援tcp proxy