configuration - 将 RavenDB 流量配置为在内部网络上运行
问题描述
我在通过错误的网络路由流量时遇到了一些配置问题。
我有:
- RavenDB(4.2 版)安装在一台服务器上
- 安装在另一台服务器上的网站(安装在 IIS 上)
两台服务器都在同一个网络上。
我们面临的问题是 db 和 web 之间的所有流量都通过 Internet/外部网络运行,而不是通过内部网络。这显然是一个问题,并且希望流量在内部网络上运行。
不幸的是,我们还没有弄清楚如何正确配置它。
RavenDB 设置.json:
{
"DataDir": "RavenData",
"License.Eula.Accepted": true,
"Security.Certificate.LetsEncrypt.Email": "some@email.com",
"Setup.Mode": "LetsEncrypt",
"Security.Certificate.Path": "certificate.pfx",
"ServerUrl": "https://0.0.0.0:8080",
"ServerUrl.Tcp": "tcp://0.0.0.0:38888",
"ExternalIp": "109.0.0.0",
"PublicServerUrl": "https://public_domain:8080",
"PublicServerUrl.Tcp": "tcp://public_domain:38888"
}
(上面的一些数据是模糊的。上面的“ExternalIp”设置是隐藏的,但设置为与指向PublicServerUrl-domain的相同的外部IP)
网站数据库设置:
<add key="Raven.Url" value="https://public_domain:8080" />
<add key="Raven.File.Url" value="https://public_domain:8080" />
我试过的:
- 将 settings.json 中的 ServerUrl 值更改为 RavenDB 的内部 IP。
- 将 db 应用程序设置 (Raven.Url) 更改为内部 IP。这导致异常:
Raven.Client.Exceptions.Security.CertificateNameMismatchException: You are trying to contact host *internal ip inserted here* but the hostname must match one of the CN or SAN properties of the server certificate
如何强制流量通过内部 IP/网络而不是外部 IP/Internet?
解决方案
推荐阅读
- javascript - 如何通过 nodejs API 上传文件 - Vuejs
- ruby - 基准宝石改进
- javascript - 如何将数据添加到对象Angular 5+中的集合?
- templates - 为多个文件划分模板不提供数据
- github - 我如何在 github 上搜索特定且准确的术语?
- python - 无效的语法 Python Inside print 2.7.11
- python - 逗号分隔列表的 argparse 操作或类型
- react-native - undefined 不是对象(评估'_this2.setProject.bind')onPress
- ruby-on-rails - 旧组件在后退按钮上保留状态
- asp.net - 如何通过ajax将表单数据从asp.net html页面发送到c#代码