2017-01-11 4 views
0

別のサーバーに特定のパスを設定し、私はサービスが実行されている私の大学から単一のドメイン名、持っている:私は達成したい何nginxの:

server { 
    listen    443 default_server ssl; 
    server_name   example.uni.com; 
    keepalive_timeout 70; 

    ssl_certificate  xxx.crt; 
    ssl_certificate_key xxx.key; 


    location/{ 
     proxy_pass http://localhost:8081; 
     proxy_http_version 1.1; 
     proxy_set_header Upgrade $http_upgrade; 
     proxy_set_header Connection 'upgrade'; 
     proxy_set_header Host $host; 
     proxy_cache_bypass $http_upgrade; 
    } 


} 

は、にexample.uni.com/specificaddressポイントを持つことです別のローカルホストポートで稼働している別のサービスを8081上で稼動しているサービスを変更することなく(さらに良いものはspecificaddress.example.uni.comになりますが、私はそれを自分で行うことはできません)。これはどのように可能でしょうか? server_nameexample.uni.com/specificaddressに設定された別のサーバーを簡単に作成すると、残念なことに(大きな驚きではなく、8081で実行されるサービスによって処理されます)機能しません。

答えて

1

プロキシが別のポートを通過する新しいロケーションブロックを追加できます。

location/{ 
     proxy_pass http://localhost:8081; 
     proxy_http_version 1.1; 
     proxy_set_header Upgrade $http_upgrade; 
     proxy_set_header Connection 'upgrade'; 
     proxy_set_header Host $host; 
     proxy_cache_bypass $http_upgrade; 
} 

location /specificaddress { 
     proxy_pass http://localhost:8082; 
     proxy_http_version 1.1; 
     proxy_set_header Upgrade $http_upgrade; 
     proxy_set_header Connection 'upgrade'; 
     proxy_set_header Host $host; 
     proxy_cache_bypass $http_upgrade; 
}