Здесь моя проблема. Чтобы использовать 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;
    }
}

vhost.conf

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. в случае idk

1 ответ1

0

Служба php5-fpm не работала с новым конфигом, несмотря на то, что я service php5-fpm restart . убить php5-fpm через утилиту kill и service php5-fpm start решил эту проблему.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .