Здесь моя проблема. Чтобы использовать 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:
- изменение местоположения на ^~ /.well-known/acme-challenge- тот же эффект
- изменение местоположения на ^~ /\.well-known/acme-challenge- тот же эффект
- используйте root /var/froxlorвместоalias- тот же эффект
Я думаю, что я заблудился где-то в порядке определения местоположения nginx, который я пытался исправить с помощью:
- в случае разрешения заказа
- в случае регулярного выражения
- в случае idk
