之前我说了设置如何添加https,因为https比http要安全一点,所以我想让所有从http访问我的网站的人强制跳转到https,这就需要添加以下:
server {
listen 80;
server_name my.nicky1605.com;
rewrite ^/(.*) permanent;??? #记得修改成你的网站
}
也就是再添加一个虚拟机,80端口一个,443端口一个server。
但是有些程序只会给你往端口上转发,不会自动修正http为https,这样的程序还不少,例如phpmyadmin:
遇到这样的程序我们需要修改Nginx.conf配置文件,在443的server的fastcgi字段中添加一个语句:
fastcgi_param HTTPS on; #attention!#
例如
???????? location ~ .*\.(php|php5)?$ ??????????? { ??????????????? try_files $uri =404; ??????????????? fastcgi_pass? unix:/tmp/php-cgi.sock; ??????????????? fastcgi_index index.php; ??????????????? fastcgi_param HTTPS on; #attention!# ??????????????? include fcgi.conf; ??????????? }
这样就可以了。
RewriteEngine On RewriteCond %{HTTPS} !on [NC] RewriteRule (.*) https://abc.com%{REQUEST_URI} [R=301,NC,L]
记得把文章中的abc.com换成你的域名