Книга знаний

Инф. технологии

Один сайт на два домена с ssl в nginx

Как в nginx настроить заркало сайта на втором домене с ssl на каждый домен.Asmody
Последняя редакция №0 от 11.03.18
URL: http://kb.mista.ru/article.php?id=956

Ключевые слова: 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.

Описание | Рубрикатор | Поиск | ТелепатБот | Захваченные статьи | Установки | Форум
© Станислав Митичкин (Волшебник), 2005-2025 | Mista.ru

Яндекс.Метрика