来自 DMZ 中 Web 服务器的 ASP.Net 提供商

标签 asp.net architecture deployment asp.net-membership dmz

我们有一个 Intranet ASP.net Web 应用程序,它使用 OOTB ASP.net 成员资格和角色提供程序。

现在我们计划通过将 Web 服务器移动到 DMZ 来将应用程序公开到 Internet,如下面的(蹩脚)文本图所示


             External                    Internal     
internet --- Firewall --- Web server --- Firewall --- App Server --- Database

                             DMZ                              Intranet

现在的问题是,由于内部防火墙的原因,Web 服务器上的 asp.net 成员资格和角色提供程序无法连接到 sql 服务器。

您以前遇到过这样的情况吗?您是否建议在内部防火墙中开放端口,以便 Web 服务器可以直接连接到 SQL 服务器?我还有什么其他选择(除了自己编写自定义提供程序)?

最佳答案

更改 DMZ 策略和开放端口通常非常困难。执行我所做的操作可能会取得更好的成功:在网络内公开 WCF 服务并通过端口 80 上的 HTTP 与其进行通信。

与 LAN 人员零摩擦,我只是模仿 .NET 为我们提供的相同的 API(尽管很蹩脚):)

编辑:澄清一下,这意味着我有一个配置如下的 RemoteRoleProvider:

<roleManager enabled="true" defaultProvider="RemoteRoleProvider">
   <providers>
      <add name="RemoteRoleProvider" type="MyCorp.RemoteRoleProvider, MyCorp" serviceUrl="http://some_internal_url/RoleProviderService.svc" />
   </providers>
</roleManager>

关于来自 DMZ 中 Web 服务器的 ASP.Net 提供商,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/226392/

相关文章:

javascript - 根据下拉值字段中的部分值选择下拉列表

c# - 我如何确定或判断一组类是否为 "spaghetti code"?

ruby-on-rails - 部署新代码后,如何让 AWS Auto-scaling Group 中的所有实例保持更新?

asp.net-mvc-4 - 为什么我的 Azure 部署显示我的空 MVC 4 应用程序对于超小应用程序来说太大了?

c# - 将 QueryString ID 从 aspx 页面传递到 winform 文本框

asp.net - 无法加载文件或程序集“Autofac,版本=3.0.0.0”

c# - 如何正确使用依赖项注入(inject)在 Blazor 组件上包含 ASP.NET Core Identity UserManager?

.net - 各种 .NET 依赖注入(inject)框架的比较(优缺点)

kubernetes - 调度尽可能多的 Pod 以适合集群?

ruby-on-rails - 使用 Capistrano 在 Dreamhost 上部署 Rails 3