Mặc dù có rất nhiều ví dụ trực tuyến, tôi đã thử rất nhiều thứ, cụ thể là sử dụng câu lệnh if, nhưng cho đến nay tôi vẫn không thể thiết lập vhost của mình đúng cách
Vì vậy, vhost của tôi là
a1.example.com
www.a1.example.com nên chuyển hướng đến https://a1.example.com
a1.example.com nên chuyển hướng đến https://a1.example.com
Mục tiêu là chuyển hướng nó đến https không phải www mỗi lần.
Đây là vhost của tôi cho đến nay, tôi đang sử dụng certbot
người phục vụ {
server_name a1.example.com www.a1.example.com;
gốc/var/www/ví dụ/bản dựng;
chỉ mục index.html index.htm;
địa điểm / {
try_files $uri $uri/ =404;
}
lắng nghe [::]:443 ssl ipv6only=on; # được quản lý bởi Certbot
nghe 443 ssl; # được quản lý bởi Certbot
ssl_certificate /etc/letsencrypt/live/a1.example.com/fullchain.pem; # được quản lý bởi Certbot
ssl_certificate_key /etc/letsencrypt/live/a1.example.com/privkey.pem; # được quản lý bởi Certbot
bao gồm /etc/letsencrypt/options-ssl-nginx.conf; # được quản lý bởi Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # được quản lý bởi Certbot
}
người phục vụ {
nếu ($host = a1.example.com) {
trả lại 301 https://$host$request_uri;
}
nghe 80;
nghe [::]:80;
server_name a1.example.com www.a1.example.com;
trả lại 404; # được quản lý bởi Certbot
}
Điều này chuyển hướng từ http sang https, nhưng tôi không thể thực hiện chuyển hướng www sang nonwww
Bản ghi dns hiện tại của tôi là
IP @
IP a1
tên miền www CNAME
CNAME www.a1 www.a1.domain