0

ポート 420、example.corp.com:420 のサービスへの URL を人々に提供した古いサーバー設定がありましたが、すべてのサービスを Ngnix の通常の 80 ポートに移動し、すべてのリクエストを例から取得したいと考えています。 corp.com:420 をデフォルトで example.corp.com に戻します。指定されたポート番号に関係なく、Ngnix に app1 に移動するように指示する方法はありますか? 私はいくつかのことを試しましたが、どれもうまくいきませんでした。これが私の現在の構成です。前もって感謝します。

upstream unicorn-app1 {
  server unix:/tmp/unicorn.app1.sock;
}

server {
  listen 80;
  server_name example.corp.com;
  root /home/example/apps/wm/current/public;

  location / {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Real-IP  $remote_addr;
    proxy_set_header Host $http_host;
    proxy_redirect off;

    if (!-f $request_filename) {
      proxy_pass http://unicorn-app1;
      break;
    }
  }
}

upstream unicorn-app2{
  server unix:/tmp/unicorn.app2.sock;
}

server {
  listen 420;
  server_name example.corp.com;
  root /home/example/apps/app2/current/public;

  location / {
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Real-IP  $remote_addr;
    proxy_set_header Host $http_host;
    proxy_redirect off;

    if (!-f $request_filename) {
      proxy_pass http://unicorn-app2;
      break;
    }
  }
}
4

2 に答える 2

0

実際にはより良い方法は、ポート 420 をポート 80 にリダイレクトするようにすることです。これにより、人々はゆっくりとポート 480 の使用をやめ、301 リダイレクトを使用するようになります。

server {
    listen 480;
    server_name example.com;
    return 301 example.com$request_uri;
}
于 2013-10-09T05:08:07.423 に答える