Настроить локальный сертификат в vestacp по дефолту
Иногда, когда добавляешь в vestacp домен с сертификатом ssl, другие домены на том же сервере начинают открывать по https не тот сайт. Вместо ошибки — или заглушки, открывается единственный настроенный домен с сертификатом. А нужно чтобы открывалась заглушка. Также при заходе на сервер по ip с https и без открывалась заглушка. Давайте разберём как это сделать.
Первым делом создадим файлы сертификата localhost
1 2 3 4 |
openssl req -x509 -out localhost.crt -keyout localhost.key \ -newkey rsa:2048 -nodes -sha256 \ -subj '/CN=localhost' -extensions EXT -config <( \ printf "[dn]\nCN=localhost\n[req]\ndistinguished_name = dn\n[EXT]\nsubjectAltName=DNS:localhost\nkeyUsage=digitalSignature\nextendedKeyUsage=serverAuth") |
или
1 |
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/nginx.key -out /etc/nginx/ssl/nginx.crt |
Далее откроем конфиги nginx, основные находятся по адресу: /etc/nginx/
(обычно это конфиг с ip сервером)
Добавим к конфигу
1 2 3 4 5 6 7 |
server { listen 443 ssl; server_name _; ssl_certificate /etc/nginx/ssl/nginx.crt; ssl_certificate_key /etc/nginx/ssl/nginx.key; return 404; } |
Для проверки правильности конфигураций nginx используем команду
1 |
nginx -t |
Перезапускаем nginx:
1 |
systemctl restart nginx |