c# - 带有 VPN 的本地 Service Fabric 无法正常工作
问题描述
我有一个本地 Service Fabric 群集,其中 1 个节点在 VPN 开启时无法正常工作。我有一个 catch 22,在调试模式下运行集群时,我需要 VPN 连接到外部服务。
如果我在没有VPN的情况下启动集群,它会工作,然后在集群启动后,打开VPN。这工作了一段时间,但一旦我关闭集群(即当我需要重新编译/调试时)它就不会重新启动。
有没有办法打开 VPN,我可以像在任何其他正常的应用程序开发中一样启动/关闭集群?
解决方案
有 3 个选项。
- 禁用服务结构 DNS 服务,如果您不使用服务结构 dns,我会建议这样做。
- 使用备用 DNS
- 连接到 VPN 后重置您的 DNS 设置,并在您的主机文件中添加所有 DNS IP 映射。
选项1
更改本地集群配置。您的 clusterconfig 位于:C:\Program Files\Microsoft SDKs\Service Fabric\ClusterSetup
因此,如果您的开发集群是单节点不安全的,您可以更改:C:\Program Files\Microsoft SDKs\Service Fabric\ClusterSetup\NonSecure\OneNode\ClusterManifestTemplate.json
在“addOnFeatures”标签中,您可以删除“DnsService”示例:
"addOnFeatures": [
"DnsService",
"EventStoreService",
]
完成这些步骤后,您可以从系统托盘重置您的开发集群。(右键单击服务结构图标 => 重置本地集群)
您可以验证是否在 Service Fabric Explorer 中禁用了 DNS 服务:
选项 2
- 打开当前连接的 TCP/IPv4 属性(通过控制面板\所有控制面板项\网络连接)
- 在连接 VPN 之前,将首选 DNS 更改为正在使用的一种服务结构
- 将 VPN 的第一个 DNS 放在备用 DNS 服务器文本框中。
选项 3
- 连接到 VPN
- 查找您需要的 FQDN 的所有 IP 地址。(您可以在命令行中使用 ping)
- 打开
C:\Windows\System32\drivers\etc\hosts
- 添加所有 ip FQDN 映射(每行 1 个)。例子:
1.1.1.1 your.company.com
- 将您的 DNS 设置更改为默认配置。
推荐阅读
- java - 在注释中使用属性值?
- android - 是否可以检测到当前应用程序的卸载?
- javascript - 如何使用 dygraphs 绘制垂直条
- javascript - pdf(mpdf)文件在javascript中损坏
- c - 如何强制 GCC 生成特定的浮点指令
- reactjs - 如何为 react-table 使用第三方类型声明?
- python - 打印正则表达式的所有子字符串
- python - 如何在另一个文件 test_1.py 中处理在 pytest 的 setup 和 teardown 方法中生成的会话
- stripe-payments - 创建新订阅时忽略 billing_cycle_anchor 并立即创建发票。为什么会这样?
- python - 更改与条件匹配的列中行的值与 Pandas 中列表或系列中的值