mongodb - 使用 IIS 使用反向代理访问 Mongo DB
问题描述
我们正在尝试使用 IIS 中的反向代理设置访问 mongo 数据库。
按照此处提供的说明在 IIS 中设置反向代理。
作为入站规则的一部分,我们以以下格式提供 Mongo DB 服务器详细信息:Mongoservername:27017。
但是我们无法使用设置反向代理的 IIS 网站连接到 mongodb。
错误详情:
NETWORK [js] recv():消息 msgLen 1347703880 无效。最小 16 最大:48000000
NETWORK [js] DBClientConnection 无法从 Servername:port 接收消息 - ProtocolError: recv(): message msgLen 13477038 80 无效。最小 16 最大:48000000
E QUERY [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吗?
提前致谢。
解决方案
IIS URL 重写不处理 tcp 连接。能够使用 Nginx 流实现。
推荐阅读
- php - 无法为 wordpress 删除 BlankSlate 上的标题
- vue.js - 清除函数中的 v-model 以使 v-tabs 不被突出显示 Vuetify
- java - 在 Windows 7 上同时运行多个 Java 版本
- spring - spring.jpa.properties.javax.persistence.query.timeout 不适用于 PostgreSQL
- postgresql - 在柴油机中执行正确连接
- node.js - Fiestore 查询限制
- sql - 制作名称列PK是不好的做法而不是ID?
- r - 当字符串属于不同的类时,如何将 tibble 中的字符串分成新列?
- c# - 在 C# 中使用数组进行线程池,索引超出范围
- api - Google 表格中的问题集成 Adsense