为间歇性服务配置proxy_pass

时间:2016-09-20 17:27:32

标签: ssl nginx lets-encrypt

我在Doccker容器中使用Nginx来托管我的应用程序

我正在尝试将Nginx配置为将来自/.well-known/目录的流量代理到另一个处理letsencrypt进程以设置&更新SSL证书,但我不需要该容器一直在运行,只有在尝试续订证书时才会运行。

我的想法是将proxy_pass用于特定于目录的流量,直到leysencrypt容器,但由于它并不总是在运行,因此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中配置它。

1 个答案:

答案 0 :(得分:0)

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