nginx强制访问https的不同方法

nginx 强制使用https访问的方法一共有以下几种

1、使用nginx的rewrite方法

配置nginx.conf

server {

            listen 80;

            server_name  xxx.com;



            rewrite ^(.*)$   https://$host$1 permanent;

}

2、使用nginx的301状态码

server {

            listen 80;

            listen 443;

            server_name xxx.com;

            ssl   on;

            ssl_certificate    /data/www-key/xxx.pem;

            ssl_certificate_key    /data/www-key/xxx.key;

            if ($scheme = http) {
            return 301 https://$server_name$request_uri;
            }

}

3、使用index.html 刷新网页 –这种不消耗机器性能

在/data/www/xxx/新增index.html

123<html><metahttp-equiv="refresh"content="0;url=https://xxx.com/"></html>

80配置文件

server {

            listen 80;

            server_name xxx.com;

            root /data/www/xxx/;

            charset utf-8;

            access_log /data/logs/nginx/access.log main;

            index Index.php index.php index.htm index.html;

            location / {

                        try_files $uri $uri/ /index.php?$query_string;

             }

            error_page 404 https://xxx.cn/;

            location ~ .*\.(gif|jpg|jpeg|png|bmp|ico|swf|html|htm|mp3|wma|js|css)$ { 
                           expires 7d;

            }

            location ~ .*\.php?$ {

                            include /data/apps/nginx/conf/fastcgi.conf;

                            fastcgi_pass 127.0.0.1:9000;

                            fastcgi_index index.php;

            }

}

443配置文件

server {
            listen 443 ssl;
            server_name a.xxx.cn;
            root /data/www/a.xxx.cn/;
            ssl_certificate /data/www.key/a.xxx.cn.ssl.crt;
            ssl_certificate_key /data/www-key/a.xxx.cn.key;
            ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
            ssl_ciphers HIGH:!aNULL:!MD5;
            charset utf-8;
            access_log /data/logs/nginx/access.log main;
            index Index.php index.php index.htm index.html;

########################  ******************************************
            location / {
                        try_files $uri $uri/ /index.php?$query_string;
            }
########################*****************************************

            location ~ .*\.(gif|jpg|jpeg|png|bmp|ico|swf|html|htm|mp3|wma|js|css)$ {
                         expires 7d;
            }
            location ~ .*\.php?$ {
                            include /data/apps/nginx/conf/fastcgi.conf;
                            fastcgi_pass 127.0.0.1:9000;
                            fastcgi_index index.php;
            }
}
本站所有文章除特殊声明外均为原创,未经允许禁止转载!