web-dev-qa-db-ja.com

nginxでヘッダー(HTTP)を追加して使用する

私は2つのシステムを使用しています(両方ともnginxロードバランサーで、1つはバックアップとして機能します)。いくつかのHTTPカスタムヘッダーを追加して使用したいと思います。ご提案をお願いします

例えば

  upstream upstream0{
            #list of upstream servers
            server backend:80;
            server backup_load_balancer:777 backup;
            #healthcheck
  }

  server{
        listen  80;
        #Add custom header about the port and protocol  (http or https)
        server_name     _;
        location / {
                proxy_pass "http://upstream0;#" is included since links are not allowed in the post
        }

   }

//バックアップシステム

server{
        listen  777;
        server_name     _;
        #doing some other extra stuf

        #use port and protocol to direct
}

ありがとう

6
mohan

ヘッダーを追加する場合は、次のようなものが必要です。

server {
    listen  80;
    server_name     _;
    add_header X-Frame-Options "SAMEORIGIN";
    add_header X-Frame-Options sameorigin;
    add_header X-UA-Compatible "IE=Edge,chrome=1";
    add_header X-Your-Port-Header-Here $server_port;
    add_header X-Your-Protocol-Header-Here $scheme;
    set $yourcustomheader $scheme$server_port;
    add_header X-Your-Custom-Header $yourcustomheader;
    location / {
            proxy_pass http://upstream0;
    }

}

次の Nginxの変数 を参照できます。上記で十分な柔軟性が得られない場合は、 HttpHeadersMore モジュールを確認してください。ただし、ではないことに注意してくださいほとんどの標準的なNginxディストリビューションで提供されるため、自分でコンパイルする必要がある場合があります。ただし、Debianを使用している場合は、 Dotdebnginx-extras パッケージにあります。

8
Stef Pause