Aceasta este configurația mea actuală:
Server {
dacă ($gazdă = www.site-ul meu.com) {
returnează 301 https://mywebsite.com$request_uri;
} # gestionat de Certbot
dacă ($gazdă = site-ul meu.com) {
returnează 301 https://mywebsite.com$request_uri;
} # gestionat de Certbot
asculta 80;
server_name mywebsite.com www.mywebsite.com;
întoarce 404; # gestionat de Certbot
}
Server {
nume_server site-ul meu.com;
root /var/www/html/mywebsite.com/public;
Locație / {
try_files $uri $uri/index.html @sinatra;
}
locație @sinatra {
proxy_pass http://127.0.0.1:4567;
}
asculta [::]:443 ssl http2 ipv6only=on;
asculta 443 ssl http2; # gestionat de Certbot
ssl_certificate /etc/letsencrypt/live/mywebsite.com/fullchain.pem; # gestionat de Certbot
ssl_certificate_key /etc/letsencrypt/live/mywebsite.com/privkey.pem; # gestionat de Certbot
includ /etc/letsencrypt/options-ssl-nginx.conf; # gestionat de Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # gestionat de Certbot
}
Ceea ce vreau este să aibă totul... versiunea www sau versiunea http a oricărei adrese URL redirecționate către adresa URL HTTPS non-www.
În acest moment, totul funcționează cu câteva capturi:
https://mywebsite.com
Merge bine
http://mywebsite.com
redirecționează către https://mywebsite.com
(de asemenea perfect)
https://www.mywebsite.com
redirecționează către https://mywebsite.com//
(bară oblică dublă!)
http://www.mywebsite.com
redirecționează către https://mywebsite.com//
(Bară oblică dublă, din nou!)
Cum fac să repar asta?