0

こんにちは、nginx プロキシに問題があります。

すべてのリクエストを1つの外部サイトにリダイレクトするようにセットアップしたい(すでに持っている)。

しかし、ドメイン hg.mydomain.com のリクエストを除いて、これらのリクエストは localhost:4567 にリダイレクトしたい (sinatra アプリはそこにある)

しかし、それはうまくいきません

user www-data;
worker_processes  1;

error_log  /var/log/nginx/error.log;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
    # multi_accept on;
}

http {
    include       /etc/nginx/mime.types;

    access_log  /var/log/nginx/access.log;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;
    tcp_nodelay        on;

    gzip  on;
    gzip_disable "MSIE [1-6]\.(?!.*SV1)";


    server {
       listen       80;
       server_name  *.hg.mydomain.com;

       location / {
            proxy_pass http://127.0.0.1:4567/;
       }
    }

    server {
        listen 80;

        location / {
            proxy_pass http://sb.mydomain.com;
            proxy_set_header X-Real-IP  $remote_addr;
            proxy_set_header X-Forwarded-For $remote_addr;
            proxy_set_header X-Shoebox-Host $host;
       }
    }
}
4

1 に答える 1

0

http://hg.mydomain.comが Sinatra アプリを指すようにしたい場合は、行を変更する必要があります

       server_name  *.hg.mydomain.com;

       server_name  .hg.mydomain.com;

また

       server_name  hg.mydomain.com;

また、デフォルト サーバー用にを追加することもできdefault_serverます。listen詳細については、こちらをご覧ください: http://wiki.nginx.org/HttpCoreModule#listen

于 2012-05-11T09:06:11.837 に答える