2016-09-20 8 views
0

私はハンドルを別の容器に/.well-known/ディレクトリにプロキシトラフィックにnginxのを設定しようとしている私のアプリケーション構成しproxy_pass

をホストするDocckerコンテナ内nginxのを使用しています暗号化プロセスで&のSSL証明書を更新することができますが、証明書を更新しようとしている間だけ常にそのコンテナを実行する必要はありません。

私は、leysencryptコンテナへのディレクトリ固有のトラフィックにproxy_passを使用することを考えましたが、常に実行されているわけではないので、Nginxプロセスはアップストリームが利用できないと不平を言って終了します。

Nginxを設定して、proxy_pass設定のアップストリームのステータスをチェックしない方法はありますか?ここで

が現在の設定ですが、それは便利だ場合...

server { 
    listen 80 default_server; 
    listen [::]:80 default_server ipv6only=on; 

    server_name domain.com; 

    root /var/www/html/web; 

    location/{ 
     return 301 https://$host$request_uri; 
    } 

    location ^~ /.well-known/ { 
     proxy_pass http://letsencrypt/.well-known/; 
    } 
} 

私は、ファイルのアプリの転送に使用することができると思いますが、これは不格好な感じ。むしろNginxの中でそれを設定したいと思います。

答えて

0
location ^~ /.well-known/ { 
    resolver 127.0.0.1; 
    set $upstream letsencrypt; 
    proxy_pass http://$upstream/.well-known/; # use variables to make nginx startable 
} 
+0

これが何をしているのか少し詳細を追加できますか?アップストリームサーバが利用可能であることをnginxがチェックするのを防ぐ方法はありますか? – TobyG

+0

nginxを起動可能にするだけで、エラーコード(503 ...)が生成されます。 – jsxqf

関連する問題