nginx 80端口重定向到443端口


nginx 80端口重定向到443端口,也就是http訪問自動跳轉到https
配置如下:
一、按照如下格式修改nginx.conf 配置文件,80端口會自動轉給443端口,這樣就強制使用SSL證書加密了。訪問http的時候會自動跳轉到https上面。

server {
    listen 80;
    server_name www.域名.com;
    rewrite ^(.*)$ https://${server_name}$1 permanent;
}
server {
    listen 443;
    server_name www.域名.com;
    root /home/wwwroot;
    ssl on;
    ssl_certificate /etc/nginx/certs/server.crt;
    ssl_certificate_key /etc/nginx/certs/server.key;
    ....
}

 



   

備注: ${server_name}可以換成$host

二、重啟nginx。

三、示例(以下是我們生產的配置)

server {
    listen 80;
    server_name www.test.com;
    rewrite ^(.*)$ https://${server_name}$1 permanent;
}

server {
    listen 443;
    server_name www.test.com;
    ssl on;
    ssl_certificate   /etc/pki/CA/certs/214321311540956.pem;
    ssl_certificate_key  /etc/pki/CA/certs/214321311540956.key;
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;   
    index index.php index.htm index.html;
    error_page 404 /404.html;
    error_page 500 502 503 504 /50x.html;

    location ~ \.php {
    root /alidata/www/html;
    fastcgi_pass unix:/tmp/php-cgi.sock;
    fastcgi_index index.php;
    include   fastcgi.conf;

    set $path_info "";
    set $fastcgi_script_name_new $fastcgi_script_name;

        if ($fastcgi_script_name ~*   "^(.+\.php)(/.+)$"  ) {
            set $fastcgi_script_name_new $1;
        set $path_info $2;
    }

    fastcgi_param   SCRIPT_FILENAME   $document_root$fastcgi_script_name_new;
    fastcgi_param   SCRIPT_NAME   $fastcgi_script_name_new;                    
    fastcgi_param   PATH_INFO $path_info;
    }

    location / {
    root /alidata/www/html;
    index index.php index.html index.htm;
    if (!-e  $request_filename){
        rewrite ^(.*)$ /index.php$1 last;
    }
  }
}

 


---------------------
作者:幸福丶如此
來源:CSDN
原文:https://blog.csdn.net/m0_37886429/article/details/72271983
版權聲明:本文為博主原創文章,轉載請附上博文鏈接!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM