首页 > nginx同一端口代理问题

nginx同一端口代理问题

背景:客户为了安全起见,只允许对外服务器仅仅开启80端口。而我们部署的系统包括一个IM模块,使用的xmpp协议。所以就有如下问题。

如下是nginx的access log:

192.168.1.113 - - [19/Mar/2015:17:08:42 +0800] "<?xml version=\221.0\x22?>" 400 172 "-" "-"
192.168.1.113 - - [19/Mar/2015:17:08:46 +0800] "<?xml version=\221.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

【热门文章】
【热门文章】