1、需求:当访问http时,自动跳转到https
2、环境:一个测试的nginx+静态页面
3、实现:写成两个配置文件一个叫test.conf内容如下:
server {
listen 80;
server_name www.test.com;
location / {
rewrite ^/(.*) https://www.test.com; #当访问http时,重写到https上
}
}
另一个配置文件test.conf,内容如下:
server {
listen 443 ssl;
server_name www.test.com;
root /usr/local/nginx/conf/vhost/;
index test.html;
error_page 405 =200 $uri; #post无法请求时返回405状态码,指向200.让其可以正常访问。
}
4、遇到的错误:第一次配置时写成了如下方式(无法访问):
server {
listen 80;
listen 443 ssl;
server_name www.test.com;
rewrite ^(.*)$ https://$host$1 permanent;
root /usr/local/nginx/conf/vhost/;
index test.html;
error_page 405 =200 $uri;
}
访问时浏览器报错如下:
ERR_TOO_MANY_REDIRECTS