搜索

首页  >  问答  >  正文

nginx同一端口代理问题

背景:客户为了安全起见,只允许对外服务器仅仅开启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 "-" "-"
ringa_leeringa_lee2752 天前493

全部回复(2)我来回复

  • 習慣沉默

    習慣沉默2017-05-16 17:27:04

    nginx 又不支持 XMPP 协议。你用 BOSH 吧,但是需要客户端支持。

    你也可以写个 nginx 模块,当请求是 XML 时转发到后端 XMPP 服务器。当然另一种方案是在 nginx 前边加个自己写的代码程序,看请问转给 nginx 或者 XMPP。

    回复
    0
  • PHP中文网

    PHP中文网2017-05-16 17:27:04

    为什么只开放80端口。就算是nginx转发……那不也是直接访问了XMPP?nginx有做什么鉴权验证吗?

    另外,nginx支持tcp proxy

    回复
    0
  • 取消回复