2016-08-24 6 views
0

この質問はすでにHow to run Nginx with Node.js on Windows?で回答されています。しかしそれに続くことはうまくいかないようです。それから私は多くを助けていないhttp://nginx.org/en/docs/windows.htmlに行きました。ここに私の問題についての簡単な説明があります。Windowsの同じポートにあるNginx nodejs

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はノードに行きます!

関連する問題