今天在腾讯云上申请到了免费的SSL证书,于是吧网站切换到了https,这时如果在使用http://www.2heng.xin/访问,即出现HTTP 400错误,所以需要设置Nginx将http请求跳转到https。一开始查到一些配置方案,比如这篇,但是方案一使用后出现400 Bad Request. The plain HTTP request was sent to HTTPS port,方案二太麻烦没试,方案三仅能跳转首页。腾讯云的SSL配置教程和方案一一样也建议使用rewrite ^(.*) https://$host$1 permanent;
,但是实际是在我这里400 Bad Request,事实上我的Nginx是1.10.3版,很可能已经不支持那个指令了。
最后我找到这篇教程,二楼用户bashy亲测可行。
很简单地,就在配置文件中加入这段即可:
server {
listen 80;
#listen [::]:80; // IPv6监控相关,我选择关闭
server_name www.2heng.xin;
return 301 https://www.2heng.xin$request_uri;
}
server {
// other server block
}
「樱花庄的白猫」原创文章:《Nginx HTTP 请求转发到 HTTPS》,转载请保留出处!https://2heng.xin/2017/08/15/nginx_http2https/
Q.E.D.
Comments | NOTHING