В общем, суть вопроса в заголовке. Пытался гуглить, пришел к такому варианту
example.com#redirect
server {
listen 80;
server_name "~^(www\.)?(.*)$" ;
return 301 https://$2$request_uri ;
}
#В этом блоке пытался оставлять строки с ssl и закомментированными и раскоментированными
server {
listen 443 ssl;
server_name "~^www\.(.*)$" ;
return 301 https://$1$request_uri;
#ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # managed by Certbot
#ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # managed by Certbot
#include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
#ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
#listen [::]:443 ssl ipv6only=on; # managed by Certbot
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
#root directory
root /var/www/example.com/public;
#domain name
server_name example.com;
# Add index.php to the list if you are using PHP
index index.php index.html index.htm;
}
С таким конфигом работают редиректы:
http://example.com -> https://example.com
http://www.example.com -> https://example.com
Но при редиректе с
https://www.example.com
браузер ругается на сертификат. ЧЯДНТ? Спасибо.