ubuntu 14.04 在 php-fpm 上运行 froxlor,使用 letsencrypt 无法与全局 acme 位置配置配合使用

ubuntu 14.04 在 php-fpm 上运行 froxlor,使用 letsencrypt 无法与全局 acme 位置配置配合使用

这是我的问题。为了在每个域上使用 letsencrypt acme,我include /etc/nginx/acme.conf在每个 vhost 配置中添加了以下内容:

acme.conf

location /.well-known/acme-challenge {
    alias /var/www/froxlor/.well-known/acme-challenge;

    allow all

    location ~ /.well-known/acme-challenge/(.*) {
        default_type text/plain;
    }
}

虚拟主机配置文件

server {
    listen <IP>:80;
    server_name example.de;
    include /etc/nginx/acme.conf;

    root /var/customers/webs/example/example.de/;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ @rewrites;
    }


    location @rewrites {
        rewrite ^ /index.php last;
    }

    location /webalizer {
        alias /var/customers/webs/example/webalizer/example.de/;
        auth_basic "Restricted Area";
        auth_basic_user_file /etc/nginx/froxlor-htpasswd/1-229049931c767630a601718d62346214.htpasswd;
    }

    location ~ ^(.+?\.php)(/.*)?$ {
        try_files /ec157a05122f20edd82ad600247730bf.htm @php;
    }

    location @php {
        try_files $1 = 404;

        include /etc/nginx/fastcgi_params;
        fastcgi_split_path_info ^(.+\.php)(/.+)\$;
        fastcgi_param SCRIPT_FILENAME $document_root$1;
        fastcgi_param PATH_INFO $2;
        fastcgi_pass unix:/var/run/example-example.de-php-fpm.socket;
        fastcgi_index index.php;
    }


}

我输入了一个test.html.well-known/acme-challenge这样example.de/.well-known/acme-challenge/test.html应该会返回该文件,但是我得到的是重定向到example.de/well-known/acme-challenge/test.html/

我在 acme.conf 中尝试过的事情:

  1. 改变位置至^~ /.well-known/acme-challenge-效果相同
  2. 改变位置至^~ /\.well-known/acme-challenge-效果相同
  3. root /var/froxlor代替使用alias- 效果相同

我认为我在 nginx 位置解析顺序的某个地方迷失了方向,我尝试使用以下命令进行修复:

  1. 解决订单时
  2. 对于正则表达式
  3. 我不知道

答案1

service php5-fpm restart尽管我修改了配置,但 php5-fpm 服务并未使用新配置运行。killingphp5-fpm它通过killservice php5-fpm start解决了它。

相关内容