문제

IIS를 실행하는 웹 서버가 있습니다. 공유 블로그 나 정보를 추적 할 수있는 무언가를 실행하고 싶습니다. 보안 문제로 인해 해당 부분이 LocalHost에서만 볼 수 있으므로 사람들이 사용하기 위해 리모컨을 사용해야합니다.

따라서 내 질문을 반복하기 위해 웹 사이트의 일부를 LocalHost에서만 볼 수 있습니까?

도움이 되었습니까?

해결책

IIS6에서는 웹의 속성을 제기하고 디렉토리 보안 탭을 클릭 할 수 있습니다. IP 및 도메인 제한을 편집하려면 탭 중간의 버튼을 클릭하십시오. 이 탭에서 모든 컴퓨터를 거부 한 다음이 사이트에 액세스 할 IP에 대한 예외를 추가하십시오.

IIS7에서이를 구성하는 방법을 잘 모르겠습니다. 나는 보았지만 그것을 찾을 수 없었습니다. 그것을 발견하면이 답변을 편집 할 것입니다.

편집하다: IIS7 구성

  • 조롱

다른 팁

어떤 사람에게는 IIS 8 / Windows 2012

1) in Server Manager, 이동 Manage, Add Roles and Features, 다음으로 다음 (가십시오) Server Roles), 아래로 스크롤하십시오 Web Server (IIS), 그 행을 확장 한 다음 확장하십시오 Web Server, 그리고 마지막으로 확장 Security. 그것을 확인하십시오 IP 및 도메인 제한 설치됩니다.

2) in IIS Manager, 보호하려는 폴더로 드릴 다운하고 왼쪽 클릭하면 선택하십시오. 에서 Features View 해당 폴더의 선택 IP 및 도메인 제한 ~ 안에 Actions 선택하다 Edit Feature Settings. 변화 'Access for unspecified clients:' 에게 'Deny' 그럼 괜찮아.

3) 마침내 간다 'Add Allow Entry' 에서 ActionS 메뉴. 서버의 특정 IP 주소를 입력하십시오.

이제 서버에서 오는 요청 만 액세스 할 수 있습니다. 또는 해당 IP 주소를 공유하는 서버. 따라서 소규모 네트워크에서 사무실은 해당 사무실의 모든 PC간에 IP 주소를 공유 할 수 있으므로 모든 PC가 해당 폴더에 액세스 할 수 있습니다.

마지막으로 네트워크에 동적 IP 주소가있는 경우 해당 IP가 변경되면 지금 해당 IP를 사용하는 사람에게 블로그 관리자 폴더를 노출시킬 것입니다. 또한 해당 새 IP 주소의 모든 사람이 해당 폴더에 대한 액세스 권한을 잃게됩니다 ...

누구든지 명령 줄 에서이 작업을 원한다면 IIS 7+에서 작동하는 것으로 보입니다.

%windir%\system32\inetsrv\appcmd.exe set config "Default Web Site" -section:system.webServer/security/ipSecurity /+"[ipAddress='0',allowed='False']" /commit:apphost
%windir%\system32\inetsrv\appcmd.exe set config "Default Web Site" -section:system.webServer/security/ipSecurity /+"[ipAddress='127.0.0.1',allowed='True']" /commit:apphost

참조

처음에는 분포를 용이하게하기 위해 web.config 에서이 작업을하고 싶었고 다음이 작동하는 것처럼 보였습니다.

<security>
    <ipSecurity allowUnlisted="false">    <!-- this line blocks everybody, except those listed below -->                
        <clear/> <!-- removes all upstream restrictions -->
        <add ipAddress="127.0.0.1" allowed="true"/>    <!-- allow requests from the local machine -->
    </ipSecurity>
</security>

그러나 Central IIS 구성에서 기능을 잠금 해제해야하므로 첫 번째 명령을 사용하여 직접 변경하는 것보다 이점이 없었습니다.

IP 제한 대신 바인딩을 사용할 수도 있습니다. 액세스를 제한하려는 웹 사이트의 바인딩을 편집하면 사이트에서 사용할 수있는 IP 주소를 선택할 수 있습니다. IP 주소를 127.0.0.1로 설정하면 사이트 가이 IP 주소에서만 응답하고 있으며이 IP 주소는 물론 시스템에서 로컬로만 작동합니다.

IIS 8.5를 사용하여 이것을 테스트했습니다.

무단 사용자가 방문하려고 할 경우 정확히 원하는 일에 따라.

특정 섹션을 가상 디렉토리로 설정 한 다음 익명 사용자에 대한 견해를 거부 할 수 있습니다. 그러나 로그인하라는 메시지가 표시되며 로그인 할 수 있다면 볼 수 있습니다.

IIS MMC에있는 옵션을 판단하면 특정 IP 범위에서만 가상 디렉토리에 액세스 할 수 있습니다. 127.0.0.1 이외의 모든 사람을 차단할 수 있습니다. 그러나 나는 이것을 시도하지 않았다.

특정 IP에서 사이트 또는 폴더로 사이트 또는 폴더에 대한 액세스를 부여하거나 거부 할 수 있습니다. IIS에서는 해당 사이트 또는 폴더의 속성으로 이동하십시오.

(1) "Diectory Security"탭을 클릭하십시오.

(2) "IP 주소 및 도메인 이름 제한"프레임에서 편집을 클릭하십시오.

(3) "거부 된 액세스"를 클릭하십시오 (이것은 IIS에 목록을 제외한 모든 IP를 차단하라고 지시합니다)

(4) "추가 ..."를 클릭하십시오.

(5) "단일 컴퓨터"를 클릭하십시오.

(6) 127.0.0.1 입력 (LocalHost의 IP)

호스트 파일을 사용하여 도메인을 쉽게 위조 할 수 있기 때문에 도메인 이름보다는 IP를 여기에 사용하는 것이 가장 좋습니다.

127.0.0.1 (LocalHost)을 제외한 모든 IP 주소를 차단하기 위해 IIS "디렉토리 보안"을 사용하는 권장 사항에 동의합니다.

즉, 사용자가 원격으로 요구하는이 전략이 아마도 안전한. 서버 시스템에서 Windows 역할 및 권한을 관리하는 대신 표준 IIS 인증 메커니즘을 사용하는 것이 더 안전하지 않으며 (훨씬 간단한) 표준 IIS 인증 메커니즘을 사용하는 것이 더 안전하지 않습니까?

이 .NET을 페이지 상단에 추가 할 수 있습니다.

string MyWebServerName = currentContext.Request.ServerVariables["SERVER_NAME"];

if ( MyWebServerName == "127.0.0.1" || MyWebServerName == "localhost" )
{
  // the user is local 
}
else
{
  // the user is NOT local
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top