Hintergrund: Aus Sicherheitsgründen erlaubt der Kunde dem externen Server nur das Öffnen von Port 80. Das von uns bereitgestellte System umfasst ein IM-Modul, das das xmpp-Protokoll verwendet. Es stellen sich also folgende Fragen.
Das Folgende ist das Zugriffsprotokoll von Nginx:
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 "-" "-"
Entschuldigung: Wie schreibe ich die Nginx-Konfigurationsdatei?
================
Die folgenden Situationen werden behandelt. Dies ist das erste Mal, dass ich auf diese Situation stoße.
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