Nginx强制跳转Https

转载: https://www.jianshu.com/p/116fc2d08165

1. Nginx安装注意事项

安装的时候需要注意加上 --with-http_ssl_module,因为http_ssl_module不属于Nginx的基本模块。

1.配置
./configure 
--user=www 
--group=www 
--prefix=/usr/local/nginx 
--with-http_stub_status_module 
--with-http_ssl_module
2.编译安装
make && make install

2. 配置SSL证书

如下两个证书文件 ssl.crt ssl.key

配置存放路径为**/usr/local/nginx/cert/**

server {
          listen 443;
          server_name dev.wangsl.com;
          root /var/www/XXX/public;
 
          ssl on;
          ssl_certificate /usr/local/nginx/cert/ssl.crt;
          ssl_certificate_key /usr/local/nginx/cert/ssl.key;
          ssl_session_timeout 5m;
          ssl_protocols SSLv2 SSLv3 TLSv1;
          ssl_ciphers HIGH:!aNULL:!MD5;               //或者是ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
          ssl_prefer_server_ciphers on;
 
          access_log /var/www/vhosts/www.wangsl.com/logs/clickstream_ssl.log main;
          error_log /var/www/vhosts/www.wangsl.com/logs/clickstream_error_ssl.log;
 
         if ($remote_addr !~ ^(124.165.97.144|133.110.186.128|133.110.186.88)) {           //对访问的来源ip做白名单限制
                rewrite ^.*$ /maintence.php last;
         }
         
         location ~ \.php$ {
              fastcgi_pass 127.0.0.1:9000;
              fastcgi_read_timeout 300;
              fastcgi_index index.php;
              fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
             #include fastcgi_params;
             include fastcgi.conf;
         }
}

3. Http访问强制跳转到Https的几种方式

3.1 采用nginx的rewrite方法

3.2 采用nginx的497状态码

3.3 利用meta的刷新作用将http跳转到https

3.4 通过proxy_redirec方式

最后更新于

这有帮助吗?