2016-09-09 2 views
3

새 전용 서버를 구입했습니다. MEAN Stack 어플리케이션 (Node.js, Angular, MongoDB, Express)을 가지고 있으며 IIS를 사용하여 webapp을 게시하고 싶습니다.IIS 및 IISNode를 사용하여 Windows Server 2012 외부에서 내 웹 사이트에 액세스 할 수 없습니다.

나는 iisnode를 설치하고 litle node.js 서버를 작동시키기 위해 this guide을 추적했습니다.

나는 서버 내부의 브라우저에서 성공적으로 http://iisnode.local을 시도했다.

온타리오 그는 다른 한편으로 내가 http://(theIPoftheserver)/iisnode.local를하려고하면, 나는 다음과 같은 오류가 점점 오전 오전 :

enter image description here

내가 외부에서 accesible로 서버에 대한 뭔가를 할 필요가 있지만, 나도 몰라 무엇을 ..

내가 IIS 웹 사이트를 볼 수 있고 내가 http://(theIPoftheserver)/node에 갈 경우에도 제가 iisnode 웹 사이트를 볼 수 있습니다 http://(theIPoftheserver)/에 가면 ...

꽤 안돼서 n은 I 도움이 EED ...

내 web.config 파일 :

<configuration> 
    <system.webServer> 

     <!-- indicates that the server.js file is a node.js application 
     to be handled by the iisnode module --> 

     <handlers> 
      <add name="iisnode" path="server.js" verb="*" modules="iisnode" /> 
     </handlers> 


     <rewrite> 
      <rules> 
       <rule name="sendToNode"> 
        <match url="/*" /> 
        <action type="Rewrite" url="server.js" /> 
       </rule> 
      </rules> 
     </rewrite> 

     <iisnode enableXFF="true" /> 

    </system.webServer> 
</configuration> 

편집 : 나는 또한 다음과 같이 내가 파일 창 '호스트에 새로운 규칙이 있음을 언급해야 :

127.0.0.1 iisnode.local 

EDIT2 : Windows 방화벽이 뭔가를 차단할 수 있습니까? 연결을 끊어야합니까?

중요 편집 2016년 9월 14일 : 나는 hosts 파일을 편집하고 추가하는 경우 :

<server-ip-address> iisnode.local 

을 그리고 I는 I 방문 http://iisnode.local가 작동! 나는 그것을 잘 이해하지 못합니다. 왜 .. 내 웹 사이트의 모든 사용자가 호스트 파일을 수정하는 것을 원하지 않습니다. 어떻게해야합니까?

이게 문제의 원인이 될 수 있습니까?

는 편집 : 내 웹 사이트 바인딩은 다음과 같이 :

당신이 서버 내에서 사이트에 액세스

enter image description here

+0

방화벽이 될 것입니다 스크린 샷에 표시된 오류 페이지가 IIS에서 가져온 것이므로 문제가되지 않습니다. 이것은 IIS 구성 문제와 같습니다. 어쩌면 IIS에서 사이트는 localhost (127.0.0.1)에만 바인딩됩니다. –

+0

외부에서 볼 수있는 문제는 노드/노드라고 생각하지 않습니다. – Egidi

+0

중요 편집은 OP – Egidi

답변

3

http://iisnode.local (by hostname)

그것은 그래서 같은

http://127.0.0.1/ (by IP)

입니다 IP 주소를 사용하면 iisnode.local을 그 뒤에 넣지 않습니다.

iisnode.local은 호스트 이름이며 URL에는 hostname 또는 IP 중 하나를 사용하거나 같은 시간이 아닙니다.

http://(theIPoftheserver)/iisnode.local

는 현재

http://(IP)/(hostname) <--- That is wrong!

같다, 나는 당신이 당신의 서버에 대해 공용 DNS 설정이없는 가정하고, 사이트에 액세스하는 올바른 방법은

http://(External-IP)/ <-- No iisnode.local after it.

+0

! 난 그냥 내 도메인 DNS 설정에서 규칙을 만들고 필요했습니다. 감사!!! – Egidi

+0

@ Egidi 당신은 환영합니다, 그리고 고마워요! –

관련 문제