【发布时间】:2020-10-27 10:52:31
【问题描述】:
我有一个 ASPNET .Core 应用程序在 AKS 的 Kubernetes 的 pod 上运行。 Pod 的网络是 Azure 的专用网络,通过 VPN 链接到我公司的本地网络。 Web 应用程序在运行时连接到不同的 SQL Server 数据库实例,这些实例同时驻留在 Azure 的专用网络和公司的本地网络上(我无法在 Azure 的网络上移动这些实例)。
我遇到的问题是 Web 应用程序可以访问驻留在 Azure 专用网络上的 SQL Server 实例,但无法访问本地的实例。为了解决我正在考虑在 Azure 网络上启用 Squid SOCKS 代理的问题,该代理将代理到公司网络中 SQL Server 的所有连接。我使用相同的方法让应用程序使用 Squid HTTP 代理连接到驻留在公司网络上的一些 HTTP 服务,并且它正在工作。
问题是,当使用SqlConnection 类时,如何配置.net 核心应用程序以使其使用SOCKS 代理? 这就是我目前连接到数据库的方式
using SqlConnection conn = new SqlConnection(connectionString);
conn.Open();
using (SqlCommand command = new SqlCommand(query, conn))
using (SqlDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
results.Add(tupleHandler(reader));
}
}
conn.Close();
谢谢
【问题讨论】:
-
我知道这不是直接回答你的问题,而且是一个很长的镜头。只是想知道您是否检查过gateway transit feature 是否可以帮助您建立连接
标签: c# sql-server asp.net-core sql-server-2016 azure-aks