2016-03-19 40 views
3

私はNginxを全く新しくしており、あなたの助けが必要です。 基本的に私は単一のIPアドレスを持つ単一のサーバーを持っていますが、別のドメイン名を持つサーバー内に2つの異なるWebアプリケーションをホストしたいと思います。ですから、基本的には、各ドメイン名に対して、別のポート番号にリダイレクトしたいのです。私は以下を試してみてエラーが発生しましたNginxのリバースプロキシの設定

[[email protected] nginx]# nginx -t -c /etc/nginx/nginx.conf 
nginx: [emerg] "proxy_pass" directive is not allowed here in /etc/nginx/nginx.conf:41 
nginx: configuration file /etc/nginx/nginx.conf test failed 

以下はNginxの設定です。 41行目は、proxy_passがどこにあるかを示します。

server { 
    listen 80; 
    server_name server1.com www.server1.com; 
    proxy_set_header X-Real-IP $remote_addr; 
    proxy_set_header Host $host; 
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    proxy_pass http://127.0.0.1:1003; 
} 

server { 
    listen 80; 
    server_name server2.com www.server2.com; 
    proxy_set_header X-Real-IP $remote_addr; 
    proxy_set_header Host $host; 
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    proxy_pass http://192.168.1.1:1004; 
} 

ありがとうございます!あなたがproxy_passのためにドキュメントをチェックする場合は

答えて

4

は、proxy_passlocationif in locationまたはlimit_exceptブロックにする必要があります。それはserverブロックにあります。

location/{ 
    proxy_pass ... 
} 
+0

proxy_passのご使用を交換してみてくださいありがとうございました。できます! – Gon

+1

'proxy_path'? 'proxy_pass'でしょうか? – emc

+1

@emcあなたは正しいです...今修正されました:) – Kyle

関連する問題