代码之家  ›  专栏  ›  技术社区  ›  Nimesh Madhavan

来自DMZ中Web服务器的ASP.NET提供程序

  •  3
  • Nimesh Madhavan  · 技术社区  · 17 年前

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

    现在,我们计划将应用程序公开到Internet,方法是将Web服务器移动到DMZ,如下面的(crappy)文本图所示。

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

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

    你以前遇到过这样的情况吗?您是否建议在内部防火墙中打开端口,以便Web服务器可以直接连接到SQL Server?我还有什么其他的选择(除了自己设计一个定制的供应商之外)?

    2 回复  |  直到 17 年前
        1
  •  2
  •   Ben Scheirman    17 年前

    更改DMZ策略和打开端口通常非常困难。您可能会比我做的更好:在网络中公开一个WCF服务,并通过端口80上的HTTP与它通信。

    与局域网人员零摩擦,我只是模仿了.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>
    
        2
  •  1
  •   Chris Tybur    17 年前

    我们在DMZ中有两个面向Internet的Web服务器,必须在防火墙中打开隧道,返回到他们需要与之交互的专用网络中的SQL服务器。我认为我们使用了除端口1433之外的其他东西来进行SQL连接。到目前为止,它运行得很好,即没有安全漏洞。

    推荐文章