В этой статье я приведу пример настройки постоянной переадресации http запросов на https.
Для удобства можно использовать один файл для настройки каждого сайта, на примере возьму поддомен test.ixnfo.com, то есть в начале каждого файла описываем http:
server {
listen 80;
#listen [::]:80;
server_name test.ixnfo.com;
return 301 https://$server_name:443$request_uri;
}
В общем это выглядит примерно так:
server {
listen 80;
#listen [::]:80;
server_name test.ixnfo.com;
return 301 https://$server_name:443$request_uri;
}
server {
listen 443 ssl;
#listen [::]:443 ssl;
root /var/www/test;
index index.php;
access_log /var/log/nginx/test_access.log;
error_log /var/log/nginx/test_error.log;
server_name test.ixnfo.com;
ssl_certificate ...
...
Либо можно создать только один файл для http и переадресовать запросы всех сайтов:
server {
listen 80;
#listen [::]:80;
server_name _;
return 301 https://$host$request_uri;
}
Также можно создать файл конфигурации /etc/nginx/sites-enabled/ip.conf, для редиректа http и https запросов на конкретный домен, если вдруг кто-то откроет в браузере IP адрес сервера, например:
server {
listen 80;
#listen [::]:80;
server_name 192.168.2.2;
return 301 https://test.ixnfo.com:443$request_uri;
}
server {
listen 443 ssl;
#listen [::]:443 ssl;
server_name 192.168.2.2;
return 301 https://test.ixnfo.com:443$request_uri;
}
Смотрите также мои статьи:
Как отключить TLS 1.0 и TLS 1.1 в Nginx
Установка и настройка Nginx