使用反向代理通过IIS访问Mongo DB

问题描述 投票:0回答:1

我们正在尝试使用IIS中的反向代理设置访问mongo数据库。

按照here提供的说明在IIS中设置反向代理。

作为入站规则的一部分,我们以以下格式提供Mongo DB服务器详细信息:Mongoservername:27017。

但是我们无法使用设置了反向代理的IIS网站连接到mongodb。

错误详细信息:

NETWORK [js] recv():消息msgLen 1347703880无效。最少16名:48000000

NETWORK [js] DBClientConnection无法从Servername:port接收消息-ProtocolError:recv():消息msgLen 1347703880无效。最少16名:48000000

E查询[js]错误:尝试在主机'servername:port'上运行命令'isMaster'时出现网络错误:connect@src/mongo/shell/mongo.js

使用的命令:

Mongo --host --port --user用户--password密码(配置IIS反向代理的服务器名称)

反向代理设置:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="ReverseProxyInboundRule1" stopProcessing="true">
                    <match url="(.*)" />
                    <action type="Rewrite" url="{C1}://mongoserver:27017/{R:1}" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>

但是,当访问以下URL时:在浏览器上,我们收到以下消息:看起来您正在尝试通过本机驱动程序端口上的HTTP访问MongoDB。

我们可以用这种方法实现访问mongodb吗?

提前感谢。

mongodb iis reverse-proxy
1个回答
0
投票

IIS URL重写不处理tcp连接。能够使用Nginx流来实现。

© www.soinside.com 2019 - 2024. All rights reserved.