Есть связка nginx+apache (Centos). Nginx дополнительно выступает в роли балансера, т.е. роутит запросы как на бекэнд c апачем, так и на другие машины с веб-серверами.
Нужно прикрутить сертификат Let's Encrypt к nginx, чтобы nginx слушал не только 80 порт, но и 443, и дальше перенаправлял запросы . Допконфиг для nginx такой (для переадресации на backend):
upstream backend {
server 192.168.1.100:8080;
}
server {
listen 192.168.1.100:80;
server_name test1.domen.info www.test1.domen.info;
server_name test2.domen.info www.test2.domen.info;
server_name test3.domen.info www.test3.domen.info;
error_log /var/log/backend-error.log;
location / {
proxy_pass http://backend 100;
proxy_redirect off;
proxy_set_header Host $host;
}
}
/usr/share/nginx/html
upstream backend {
server 192.168.1.100:8080;
}
server {
listen 192.168.1.100:80;
server_name test1.domen.info;
location / {
proxy_pass http://backend;
proxy_redirect off;
proxy_set_header Host $host;
}
location ^~ /.well-known/acme-challenge {
root /usr/share/nginx/html;
default_type "text/plain";
allow all;
}
error_log /var/log/backend-error.log;
}
server {
listen 192.168.1.100:80;
server_name test2.domen.info www.test2.domen.info;
access_log /var/log/nginx/test2.domen.info.log;
location ^~ /.well-known/acme-challenge {
root /usr/share/nginx/html;
default_type "text/plain";
allow all;
}
location / {
proxy_pass http://backend;
proxy_redirect off;
proxy_set_header Host $host;
}
error_log /var/log/backend-error.log;
}
server {
listen 192.168.1.100:80;
server_name test3.domen.info;
location / {
proxy_pass http://backend;
proxy_redirect off;
proxy_set_header Host $host;
}
location ^~ /.well-known/acme-challenge {
root /usr/share/nginx/html;
default_type "text/plain";
allow all;
}
error_log /var/log/backend-error.log;
}
Из внешки сайты видны.
Certbot ругается, что записать не может в директорию.
certbot certonly --webroot -w /usr/share/nginx/html -d test1.domen.info -d www.test1.domen.info -d test2.domen.info -d www.test2.domen.info -d test3.domen.info -d www.test3.domen.info
...
Failed authorization procedure. test1.domen.info (http-01): urn:acme:error:unauthorized :: The client lacks sufficient authorization :: Invalid response from http://test3.domen.info/.well-known/acme-challenge/0k-67znEKgKl8P_Xx_U5m55mlE7wMcpOj0S9osHcASo: "<html>
<head><title>404 Not Found</title></head>
<body bgcolor="white">...
Подскажите, что поправить в допконфиге.