문제

OOTB ASP.NET 멤버십 및 역할 공급자를 사용하는 인트라넷 ASP.NET 웹 응용 프로그램이 있습니다.

이제 우리는 다음 (Crappy) 텍스트 다이어그램에 표시된대로 웹 서버를 DMZ로 이동하여 응용 프로그램을 인터넷에 노출시킬 계획입니다.

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

                             DMZ                              Intranet

이제 문제는 웹 서버의 ASP.NET 멤버십 및 역할 제공 업체가 내부 방화벽으로 인해 SQL 서버에 연결할 수 없다는 것입니다.

전에 그런 시나리오에 직면 한 적이 있습니까? 웹 서버가 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에 인터넷을 향한 웹 서버 몇 개를 보유하고 있으며 방화벽에서 상호 작용 해야하는 개인 네트워크의 SQL Server로 터널을 열어야했습니다. SQL 연결에 Port 1433 이외의 것을 사용했다고 생각합니다. 지금까지는 보안 위반이 없습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top