Переадресация http (80) на https(443) nginx

Поставил на сайт SSL сертификат и подумал, что можно отказаться от http и использовать только https, для apache много разных способов очень простых (.htaccess) и прописывание в конфиге, то для nginx мануалов не очень много и стандартно в ispmanager это не сделать, поэтому начал «яндексить» :)

Наткнулся на одном забугорном сайте на правильный конфиг nginx для такой ситуации:

было:
server {
listen 80;
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/ssl/certs/myssl.crt;
ssl_certificate_key /etc/ssl/private/myssl.key;
ssl_prefer_server_ciphers on;
}

а нужно сделать так:
server {
listen 80;
server_name example.com;
rewrite ^ https://$host$request_uri? permanent;
}
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/ssl/certs/myssl.crt;
ssl_certificate_key /etc/ssl/private/myssl.key;
ssl_prefer_server_ciphers on;
}

После такой настройки конфига, все заработало как я и хотел, надеюсь вам также поможет данная статейка.

2 комментария

avatar
После таких манипуляций в ispmanager домен выпал из списка «WWW-домены»
avatar
Делаю так с самого начала использования nginx :)

Оставить комментарий