Redirect 重定向https到https://www

Redirect 重定向https到https://www,redirect,nginx,Redirect,Nginx,目前,我使用它将domain.com重定向到https://www.domain.com 然而,它的某些部分是有缺陷的,因为https://domain.com 未重定向到https://www.domain.com 任何关于如何修改上述内容以实现该目标的想法…您没有将服务器设置为捕获非www ssl,您可以通过使相同的重定向服务器同时捕获这两个ssl来修复此问题 server { listen 80; listen 443; # add this line server

目前,我使用它将domain.com重定向到https://www.domain.com

然而,它的某些部分是有缺陷的,因为https://domain.com 未重定向到https://www.domain.com


任何关于如何修改上述内容以实现该目标的想法…

您没有将服务器设置为捕获非www ssl,您可以通过使相同的重定向服务器同时捕获这两个ssl来修复此问题

server {
    listen 80;
    listen 443; # add this line
    server_name domain.com;
    return 301 https://www.domain.com$request_uri;
}
server {
    listen       443 ; 
    server_name  www.domain.com;
    //rest of config goes here
}

您没有将服务器设置为捕获非www ssl,您可以通过使相同的重定向服务器同时捕获这两个ssl来修复此问题

server {
    listen 80;
    listen 443; # add this line
    server_name domain.com;
    return 301 https://www.domain.com$request_uri;
}
server {
    listen       443 ; 
    server_name  www.domain.com;
    //rest of config goes here
}

我通过添加另一个服务器块来捕获非www ssl来修复它

感谢穆罕默德·阿布沙迪给你的小费


我通过添加另一个服务器块来捕获非www ssl来修复它

感谢穆罕默德·阿布沙迪给你的小费


尝试更改服务器名称www.domain.com;到server_name domain.com;对于443部分,请将其重定向到www.domain.com尝试更改服务器名称www.domain.com;到server_name domain.com;对于443部分,并将其重定向到www.domain.com获取SSL连接错误应用修复程序时与chrome连接错误您是否有SSL证书?好的,刚才注意到您已经解决了,错误是因为SSL需要密钥和证书,您可以通过添加listen 80来合并这些块,这样相同的块将同时提供ssl和非ssl服务,而不需要单独的服务器块。获取ssl连接错误应用修复程序时chrome连接错误您是否有ssl证书?好的,刚才注意到您已经解决了,错误是因为ssl需要密钥和证书,您可以通过添加listen 80来合并这些块,这样相同的块将同时服务于ssl和非ssl,而不需要单独的服务器块。
server {
    listen 80;
    listen 443;
    ssl on;
    ssl_certificate    /etc/ssl/domain_bundle.crt; 
    ssl_certificate_key  /etc/ssl/domain.key.nopass;
    ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES256-SHA384:AES256-SHA256:RC4:HIGH:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!AESGCM;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
    server_name domain.com;
    return 301 https://www.domain.com$request_uri;
}
server {
    listen       443 ; 
    server_name  www.domain.com;
    //rest of config goes here
}