2016-08-24 42 views
0

此問題已在How to run Nginx with Node.js on Windows?中得到解答。但是,以下似乎並沒有工作。然後我去了http://nginx.org/en/docs/windows.html這沒有多大幫助。這裏是關於我的問題的簡要介紹。窗口中的同一端口上的Nginx nodejs

jxcore上http://localhost:3434/運行和成功提供一個測試Hello.js檔案

Nginx的端口80個上工作正常如常。

所以爲了讓它重定向我跟着上面的網址,下面是我目前的配置。

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/pubsub它只是給403禁止。它說權限問題,但是在窗口中配置nginx時,無處它說你需要像* nix安裝一樣干涉權限?

+0

如果從'/'而不是'/ pubsub'進行代理,會發生什麼?它對節點應用程序有用嗎? – martriay

+0

不行,因爲我的正常站點位置是/而且你不能在位置字段中添加另一個/。如果我做nginx抱怨不正確的配置。 – user2058413

回答

0

好的!這是偶然發現的! :)

最初我的重定向如下完成。想法是,如果有人去localhost/pubsub它應該重定向到nodejs,這不起作用。它顯示了一個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文件添加到Index參數。

這就是現在,現在http://localhost/pubsub去節點!