[解決済み】Docker Nginxが停止しました。[emerg] 1#1: ホストがアップストリームで見つかりません。
2022-02-18 21:15:45
質問
ECSサーバーでdocker-nginxを動かしています。が表示され、nginxのサービスが突然停止してしまいました。
proxy_pass
の1つが到達不能になりました。エラーは以下の通りです。
[emerg] 1#1: host not found in upstream "dev-example.io" in /etc/nginx/conf.d/default.conf:988
私の設定ファイルは以下の通りです。
server {
listen 80;
server_name test.com;
location / {
proxy_pass http://dev-exapmle.io:5016/;
proxy_redirect off;
##proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
}
server {
listen 80 default_server;
server_name localhost;
#charset koi8-r;
#access_log /var/log/nginx/log/host.access.log main;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
設定ファイルに多くのサーバーを登録していますが、1つのサーバーがダウンしてもnginxが動作している必要があります。何か解決する方法はありますか?
この問題を解決するための提案があれば、お願いします。
解決するには?
サイトがダウンしたときに Nginx がクラッシュしないように、以下のように resolver ディレクティブをインクルードしてください。
server {
listen 80;
server_name test.com;
location / {
resolver 8.8.8.8;
proxy_pass http://dev-exapmle.io:5016/;
proxy_redirect off;
...
警告! パブリックDNSを使用すると、DNSリクエストがスプーフィングされる可能性があるため、バックエンドにセキュリティリスクを生じます。もしこれが問題であれば、リゾルバを安全なDNSサーバに向けるべきです。
関連
-
[解決済み】Raspberry Piサーバーに対して小規模なDDoS攻撃を実行する【終了しました
-
Nginx+tomcatでhttps化した後に400 Bad Requestが発生する問題
-
解決済み net::ERR_CONTENT_LENGTH_MISMATCH 200 (OK)
-
[解決済み] NGINXのproxy_passまたはproxy_redirect
-
[解決済み] Docker Dockerコンテナからホストへのファイルコピー
-
[解決済み] ホストからDockerコンテナにファイルをコピーする方法は?
-
[解決済み] リポジトリを使用せずに、あるホストから別のホストにDockerイメージをコピーする方法
-
[解決済み] ホストからDockerコンテナのIPアドレスを取得する方法
-
[解決済み] Dockerイメージはホストマシン上のどこに保存されていますか?
-
[解決済み] サーバーがGZip形式のコンテンツを配信しているかどうかを確認するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] バックグラウンドでリクエストするようにnginxを設定する
-
アップストリームエラーの読み込み中に、アップストリームが接続を早々に切断した
-
nginx 起動プロンプト nginx: [emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
nginx が "414 request-uri too large" と表示される。
-
nginx 414 リクエスト URI が大きすぎます。
-
[解決済み】Nginxのロケーション優先順位
-
[解決済み] サーバーがGZip形式のコンテンツを配信しているかどうかを確認するにはどうすればよいですか?
-
[解決済み] nginx が返すサーバーヘッダを変更するには?
-
[解決済み] nginx client_max_body_size のデフォルト値です。
-
[解決済み] nginx 400 "The plain HTTP request was sent to HTTPS port" エラーへの対処法