私はDigital Oceanに2つの液滴を持っています。 nginxと1つのロードバランサとnginxリバースプロキシを持つ1つのノード/エクスプレスウェブサーバ。 load-1とweb-1としましょう。 load-1はSSL終了を処理し、Digital Oceanが提供するプライベートネットワーキングを介してHTTP経由でnginx上流モジュール経由でweb-1に要求を転送します。プライベートネットワーキングによるnginxアップストリーム負荷分散404
公開IP上でweb-1にアクセスするとすべて動作します。 load-1を介してアクセスすると、私は404だけを受け取る。私は、要求が実際に、これはすべてのリクエストに応じてウェブ-1のショーのためのnginxのアクセスログは、負荷-1から受信したもので、ウェブ-1に転送されていることを確認しました:
負荷1.private.ip - [ Mozilla/5.0(Windows NT 6.1; WOW64)AppleWebKit/537.36(GeckoのようなKHTML)> Chrome/55.0.2883.87 Safari/537.36 "
ダイレクトリクエストが動作しているときに転送リクエストが機能しないのはなぜですか? web-1は直接アクセスしたときに動作しているので、load-1からweb-1へのリクエストをどのように転送するかに間違いがなければなりません。
負荷-1上のマイnginxの設定ファイル:
upstream web-servers {
server web-1.private.ip;
}
server {
listen 80;
listen 443 ssl;
server_name mydomain.com;
ssl on;
ssl_certificate /etc/ssl/mycert.crt;
ssl_certificate_key /etc/ssl/mykey.key;
ssl_session_cache shared:SSL:20m;
ssl_session_timeout 10m;
ssl_prefer_server_ciphers on;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
add_header Strict-Transport-Security "max-age=31536000";
location/{
proxy_pass http://web-servers;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
ウェブ-1上のマイnginxの設定ファイル:
server {
listen 80;
server_name web-1.public.ip web-1.private.ip;
location/{
proxy_pass http://127.0.0.1:5000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_cache_bypass $http_upgrade;
}
}
に
mydomain.com
を追加します 1. default_serverは設定エラーを返しました 2.サーバブロックが1つしかないので、何も削除できませんでした。 3. web-1 nginx config server_nameにload-1ドメイン/ IPを追加しました。 私は、web-1がそれ自体のIPではなく公衆負荷1のIP /ドメインで「ブロードキャスト」すると考えていたことを理解できませんでした。ありがとう! – nidaros