내 네트워크의 다른 컴퓨터에서 내 IIS 호스팅 사이트보기


101

집에는 2 대의 컴퓨터가 포함 된 간단한 네트워크 설정이 있습니다.

한 컴퓨터에는 IIS7로 호스팅되는 사이트가 있습니다. 표준 localhost/index.htm주소 대신 HOSTS이 도메인에 대한 로컬 IP (127.0.0.1)를 가리키는 파일에 항목을 추가했습니다 www.mysite.dev.

www.mysite.dev문제없이 사이트에 액세스 할 수 있습니다 .

내가 원하는 것은 네트워크의 다른 컴퓨터에서이 사이트를 볼 수 있다는 것입니다.

처음에는 이와 같은 URL로이 작업을 수행 할 수 있다고 가정 MACHINE-NAME/www.mysite.dev했지만 연결은 항상 시간 초과되었습니다. 하지만 MACHINE-NAME문제없이 핑 을 할 수 있습니다.

테스트 목적으로 두 컴퓨터에서 Windows 방화벽을 비활성화했지만 기쁨은 없었습니다.

일반적인 웹 개발자와 마찬가지로 내 하드웨어 / 네트워크 기술은 매우 열악합니다.

아무도 내가 어디로 잘못 가고 있는지 볼 수 있습니까?


방금 MACHINE-NAME에 연결해 보셨습니까 ?
Lazarus

답변:


155

다른 사람들이 TCP 포트 80 에서 들어오는 호출수락 하도록 방화벽을 구성해야한다고 말했듯이 .

승리 7+ (간단한 마법 방식)

  1. 고급 보안 기능이있는 Windows 방화벽으로 이동
  2. 인바운드 규칙 -> 작업-> 새 규칙
  3. 선택 미리 정의 된 라디오 버튼을 누른 다음 마지막 항목을 선택합니다 - 월드 와이드 웹 서비스 (HTTP)
  4. 다음을 클릭하고 다음 단계를 그대로 둡니다 ( 연결 허용 ).

  • 아웃 바운드 트래픽 (서버에서 외부 세계로)이 기본적으로 허용 되기 때문에 웹 서버가 외부 사용자 및 요청에게 다시 보내는 http 응답을 의미합니다.

  • 그러나 인바운드 트래픽 (외부 세계에서 서버로 시작)은 기본적으로 웹 서버에 도달 할 수없는 브라우저에서 시작된 사용자 웹 요청과 같이 기본적으로 차단 되며 반드시 열어야합니다.

이 페이지 에서 인바운드 및 아웃 바운드 규칙을 자세히 살펴볼 수도 있습니다.


그래도 작동하지 않으면 최소한 개발 환경에서는 방화벽 자체를 끌 수 있습니다.
USER_NAME

@Contristo, 내 감정을 정확하게 :
브라이언 레이너

1
@hitesh, 방화벽을 켠 상태에서 포트 80 만 열면됩니다. 포트를 추가 할 권한조차없는 경우 일반적으로 관련 지원 팀에이 서버에 대해이 포트를 열도록 요청해야합니다.
Iman

1
@Hitesh : 80 이외의 포트에서 사이트를 호스팅하고 해당 포트만 허용 할 수 있습니다. 그것을 수행하는 방법에 대한 아래의 내 대답을 참조하십시오.
Syed Ali Taqi

1
고급 보안이 포함 된 Windows 방화벽에 빠르게 액세스 : Win + R을 누른 다음 mmc.exe wf.msc.
facepalm42

35

4321 과 같은 IIS의 특정 포트에서 웹 사이트를 호스팅하는 경우 Windows 방화벽을 통해이 포트도 허용해야합니다. 다음은 imanabidi의 답변 과 함께 수행 한 단계입니다 .

  1. Windows 방화벽> 고급 설정
  2. 인바운드 규칙> 새 규칙
  3. 포트> 다음을 선택합니다.
  4. 특정 로컬 포트> 허용 할 포트 추가
  5. 모든 연결 허용
  6. 나중에 기억할 수 있도록 이름과 설명을 입력하십시오.
  7. 끝난

10

먼저 서버의 LAN IP에 연결을 시도하십시오. IIS가 하나의 웹 사이트로만 설정된 경우 사이트가 팝업 될 가능성이 있습니다.

이름으로 액세스하려면 사이트를 보려는 모든 클라이언트 PC의 HOSTS 파일에 항목을 추가해야합니다 (분명히 127.0.0.1이 아니라 서버의 로컬 IP 주소).

또한 포트 80에서 들어오는 호출을 수락하도록 방화벽을 구성해야합니다.

일반적으로 호스트 파일을 다루지 않고도 중앙에서 "mysite.dev"와 같은 이름을 등록 할 수있는 DNS 서비스를 설정하는 것이 더 합리적입니다. 그러나 그것은 다른 이야기이며 superuser.com 또는 serverfault.com에 속합니다.


1
방화벽은 여기서 가장 중요한 부분입니다.
Pierre

6

방화벽 설정을 엽니 다. 그런 다음-방화벽을 통해 허용 할 프로그램 또는 기능 허용을 검색합니다. 목록에서 World Wide Web 서비스 (HTTP)가 선택되어 있지 않으면 확인하고 시스템을 다시 시작하십시오.

우리의 컴퓨터는 모두 인바운드 요청을 수락하도록 설정되었습니다.


3

매우 늦은 답변이지만 몇 년 전에 네트워크를 통해 IIS 사이트를 설정하기 전에 처리해야했기 때문에 몇 가지 요점을 강조하겠습니다.

  1. 두 컴퓨터 모두 동일한 네트워크에 연결되어야합니다 (동일한 무선 네트워크도 괜찮음).
  2. IP 168.192.x.x또는을 통해 원격 시스템에 액세스하십시오 http://his-pc-name(http 부분을 잊지 마십시오).
  3. 이것은 원격 시스템의 기본 IIS 페이지를 서버로 처리합니다 (localhost를 통해 제공되는 것과 동일). 다른 사이트를 서버하려면 먼저 [기본값으로 설정해야합니다] 1 .

IIS가 localhost기본 사이트를 제공해야 하는지를 확인하여 원격 컴퓨터에서 제대로 작동하는지 확인합니다 . 또한 방화벽이 포트 80을 통한 연결을 허용하도록 구성되어 있는지 확인하거나 테스트 목적으로 잠시 방화벽을 비활성화 할 수 있습니다.


내 워크 스테이션 이름 대신 IP를 사용하여 작동했습니다. 건배!
hatsrumandcode

3

방화벽을 수정하는 것 외에도 포트 바인딩을 추가하는 것을 잊지 마십시오!

$(SolutionDir)\.vs\config\applicationHost.config바인딩 정의 열기 및 찾기, 다음과 같아야합니다.

<sites>
    <site name="Samples.Html5.Web" id="1">
        <application path="/" applicationPool="Clr4IntegratedAppPool">
            <virtualDirectory path="/" physicalPath="C:\Git\Samples.Html5.Web" />
        </application>
        <bindings>
            <binding protocol="http" bindingInformation="*:63000:localhost" />
        </bindings>
    </site>
    ...
</sites>

컴퓨터 IP와 지정된 포트를 반영하기 위해 추가 라인을 추가하십시오.

<bindings>
    <binding protocol="http" bindingInformation="*:63000:localhost" />
    <binding protocol="http" bindingInformation="*:63000:10.0.0.201" />
</bindings>

출처 : https://blog.falafel.com/expose-iis-express-site-local-network/


2
포트 바인딩은 저에게 중요한 단계였습니다! 기본적으로 IP 주소를 통한 액세스를 허용하지 않는 IIS Express를 사용하고있었습니다 (로컬 호스트 만 해당). 따라서이 단계가 없으면 더 높은 등급의 답변이 작동하지 않을 것입니다!
JonoB

2
 Control Panel>System and Security>Windows Firewall>Allowed Programs-> then check all " World Wide Web Services(Http) tab". 

그것은 나를 위해 일했습니다


2

늦을 수 있지만 나중에 이러한 문제가 발생할 수있는 다른 사람에게 서버에 연결하려는 모든 연결 (이 경우 iis 또는 xampp에 관계없이 웹 응용 프로그램을 호스팅하는 시스템)에 대해 방화벽에서 사용될 특정 포트를 통한 연결 또는 트래픽을 허용해야합니다.

1. Go to Windows Firewall -> Advanced settings
2. Click Inbound Rules -> Then New Rule
3. Select Port -> Next
4. Specific local ports -> Add the Port you want to allow
5. Allow All Connections
6. Enter a name and a description for to help you remember later on

그리고 당신은 완료


1

바이러스 백신을 설치 한 후이 문제에 직면했고 내 방화벽이 자동으로 켜짐으로 설정되었음을 알았습니다. 이제 방화벽을 끄고 문제가 해결되었습니다. 누군가에게 도움이되기를 바랍니다 :)


0

127.0.0.1은 항상 localhost를 가리 킵니다. 홈 네트워크에는 인터넷 라우터 (dsl / cablemodem / whatever)에 의해 할당 된 IP 주소가 있어야합니다. 웹 사이트를이 주소에 바인딩해야합니다. 그런 다음 컴퓨터 이름을 사용하여 웹 사이트로 이동할 수 있지만 실제로 해당 컴퓨터에서 특정 이름을 가리 키도록 해당 클라이언트 컴퓨터의 호스트 파일을 편집하는 것이 좋습니다. 호스트 파일은 c : \ windows \ system32 \ drivers \ etc \ hosts (메모장 사용)에서 찾을 수 있으며 항목은 다음과 같습니다.

192.168.1.1     mycomputername

@JenishZinzuvadiya : 뭐? 귀하의 의견이 의미가 없습니다.
Joel Etherton 2015-08-07

-1

다음 단계를 수행해야합니다.

IIS로 이동-> 사이트-> 웹 사이트 클릭 -> 작동
중 권한 편집-> 보안-> 추가-> 고급-> 지금 찾기-> 모든 사용자 추가-> 모든 권한을 부여합니다. 다른 사용자에게-> 확인을 클릭하십시오.








위의 작업을 올바르게 수행하면 도메인을 사용하여 웹 사이트에 액세스 할 수 있습니다.
제안-때때로 문제를 일으키는 사이트에 호스트 이름을 추가하지 마십시오. 따라서 컴퓨터 IP 주소를 사용하여 웹 사이트를 호스팅하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.