2016-08-24 5 views
0

이 질문은 이미 How to run Nginx with Node.js on Windows? (으)로 처리되었습니다. 그러나 그 다음은 작동하지 않는 것 같습니다. 그 다음 나는 많이 도움이되지 않는 http://nginx.org/en/docs/windows.html에 갔다. 여기 내 문제에 대한 간략한 설명입니다.Windows의 동일한 포트에 Nginx 노드가 있음

jxcore는 http://localhost:3434/에서 실행되고 성공적으로 테스트 파일이 포트에서 평소와 같이 잘 80 일을

의 Nginx를 hello.js 제공합니다.

그래서 위의 URL을 따라 갔고 현재 구성은 다음과 같습니다.

server { 
    listen  80; 
    server_name localhost; 

    access_log D:\nginx-1.10.1\logs\access.log; 
      location ~ ^/(javascripts|stylesheets|images) { 
      expires max; 

    location/{ 
     root html; 
     index index.html index.htm; #i tried adding hello.js here as well but didn't work 
    } 

    location /pubsub { #node js files are in a sub directory under nginx root 
     proxy_pass http://localhost:3434; 
    } 
} 

내가 nginx를 다시 시작하고 localhost로 이동하면 정적 파일을 제공합니다. 하지만 내가 localhost/pubsub에 갈 때 단지 403 금지를 제공합니다. 그것은 권한 문제를 말하지만 Windows에서 nginx를 구성 할 때 아무 것도 * nix 설치에서 사용 권한을 간섭해야한다고는 말할 수 없습니다.

+0

'/ pubsub' 대신'/'에서 프록시하면 어떻게됩니까? 그것은 노드 애플 리케이션에 무엇입니까? – martriay

+0

아니요. 정상적인 사이트 위치가 /이며 위치 필드에 다른 위치를 추가 할 수 없기 때문에이 방법으로는 작동하지 않습니다. 내가 nginx 할 경우 잘못된 구성에 대해 불평. – user2058413

답변

0

이것은 우연히 분류되었습니다! :)

처음에는 리디렉션이 아래와 같이 수행되었습니다. 누군가가 localhost/pubsub로 이동하면 nodej로 리다이렉트해야한다는 아이디어가있었습니다. 그것은 403을 나타 냈습니다.

location /pubsub { #node js files are in a sub directory under nginx root 
    proxy_pass http://localhost:3434; 
} 

작동 구성;

location /pubsub/ { # notice the trailing slash 
    proxy_pass http://localhost:3434; 
} 

색인 매개 변수에 기본 .js 파일을 추가했습니다.

이제 모든 것이 있습니다. http://localhost/pubsub은 노드로 이동합니다!

관련 문제