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