nginx同一端口代理问题

【字号: 日期:2022-07-06浏览:31作者:雯心

问题描述

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

如下是nginx的access log:

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

问题解答

回答1:

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

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

回答2:

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

另外,nginx支持tcp proxy

相关文章: