我想要
http://www.domain
https://www.domain
http:// domain
https:// domain
全部重定向到4. https://domain
3和4都以4结束。
1和2 - 不要以4结束。
我还尝试使用s3存储桶和云端进行www到非www重定向,但不幸的是,这会导致证书问题。
以下是我目前在nginx配置中的内容:
server {
listen 80;
server_name www.{{ nginx_server_name }} {{ nginx_server_name }};
return 301 https://{{ nginx_server_name }}$request_uri;
}
server {
listen 443;
server_name www.{{ nginx_server_name }}
ssl on;
charset utf-8;
ssl_certificate {{ certbot_output_dir }}/{{ letsencrypt_cert_filename }};
ssl_certificate_key {{ certbot_output_dir }}/{{ letsencrypt_privkey_filename }};
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers 'ECDHE-..........
ssl_prefer_server_ciphers on;
return 301 https://{{ nginx_server_name }}$request_uri;
}
server {
listen 443;
server_name {{ nginx_server_name }};
ssl on;
charset utf-8;
ssl_certificate {{ certbot_output_dir }}/{{ letsencrypt_cert_filename }};
ssl_certificate_key {{ certbot_output_dir }}/{{ letsencrypt_privkey_filename }};
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers 'ECDHE-..........
ssl_prefer_server_ciphers on;
答案 0 :(得分:0)
您的配置似乎正确,但这些参数是什么? 也许这适合你:
server {
listen 80;
server_name www.example.com example.com;
return 301 https://example.com$request_uri;
}
这会将所有http请求转发到www.example.com和example.com到https://example.com,然后您还应该在https上创建一个主机名为www.example.com的侦听器,以相同的方式转发。 所以没有使用参数,还是因为混淆?