web-dev-qa-db-ja.com

上流サーバーのNginx httpプレフィックス

Nginxを使用して、2つのDockerコンテナーへのプロキシパスを試みています。ここに私の上流のconfファイルがあります:

upstream api_servers {
  server http://192.168.49.4:49155;
  server http://192.168.49.4:49156;
}

これは私がそれをロードしようとしているものです:

nginx: [emerg] invalid Host in upstream "http://192.168.49.4:49155" in /etc/nginx/conf.d/api_upstream.conf:3
nginx: configuration file /etc/nginx/nginx.conf test failed

Http://プレフィックスを削除すると、エラーが発生しなくなりました。何故ですか?

12
user2108258

アップストリームブロックは、オプションのステータスプーリングと接続制限があるサーバーのリストです。これらのサーバーに参加するために使用されるプロトコルは、proxy_passディレクティブ。

upstream api_servers {
    server 192.168.49.4:49155;
    server 192.168.49.4:49156;
}

server {

    [ ... ]

    location /foo/ {
        proxy_pass http://api_servers/;
    }

}
17
Xavier Lucas

構文:server address [parameters];アドレスは、ドメイン名またはIPアドレス、オプションのポート、または「unix:」プレフィックスの後に指定されたUNIXドメインソケットパスとして指定できます。 「 http://nginx.org/en/docs/http/ngx_http_upstream_module.html#upstream 」をご覧になることをお勧めします。

2
xiaopihai