Один сайт на два домена с ssl в nginx Ключевые слова: nginx, ssl, сайт, домен, зеркало
на примере kb.mista.ru и kb.mista.cc
mista.kb.conf
server {
listen 80;
listen [::]:80;
server_name kb.mista.ru www.kb.mista.ru;
return 301 https://kb.mista.ru$request_uri;
}
server {
listen 80;
listen [::]:80;
server_name kb.mista.cc www.kb.mista.cc;
return 301 https://kb.mista.cc$request_uri;
}
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name kb.mista.ru;
include ssl-mista.ru;
add_header Strict-Transport-Security "max-age=31536000";
add_header Content-Security-Policy "img-src https: data:; upgrade-insecure-requests";
include acme.conf;
location / {
set $proxy_pass_to http://mista-kb;
include proxy_pass.conf;
}
}
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name kb.mista.cc;
include ssl-mista.cc;
add_header Strict-Transport-Security "max-age=31536000";
add_header Content-Security-Policy "img-src https: data:; upgrade-insecure-requests";
include acme.conf;
location / {
set $proxy_pass_to http://mista-kb;
include proxy_pass.conf;
}
}
upstream mista-kb {
server unix:/var/run/nginx/mista.kb.sock;
}
server {
listen unix:/var/run/nginx/mista.kb.sock;
charset utf-8;
root /var/www/mista.kb;
index index.php;
access_log /var/log/nginx/mista.kb_access.log;
error_log /var/log/nginx/mista.kb_error.log;
include /etc/nginx/php-fpm.conf;
}
В файлах ssl-mista.ru и ssl-mista.cc прописаны пути к сертификатам.
ssl-mista.ru
ssl_certificate /etc/letsencrypt/live/mista.ru/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/mista.ru/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/mista.ru/chain.pem;
resolver 127.0.0.1;
ssl_stapling on;
ssl_stapling_verify on;
ssl-mista.cc аналогично.
Файл acme.conf содержит настройку локешена для certbot:
location /.well-known {
root /var/www;
}
Файл proxy_pass.conf содержит опции проксирования на upstream. Имя upstream передаем в переменной $proxy_pass_to
proxy_pass $proxy_pass_to;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
Функциональный сервер висит на unix-сокет. Чтобы обращаться к нему создается upstream. |