Nginx配置http强制跳转https
使用网站的http访问时我会把它转到我们https站点下。在Nginx中怎么配置呢?总结一下网上搜集的方案
- rewrite 方法
这是最常用的实现方法, 利用Nginx的rewrite功能将所有 http 请求重定向到 https。同时支持多域名。配置如下:
server {
listen 80;
server_name www.google.com
return 301 https://$http_host$request_uri;
}
- 497 状态码
利用了独特的状态码完成跳转,在80端口没有指定返回时,会自动返回497状态,示例如下:
server {
listen 80;
server_name www.google.com;
error_page 497 https://$http_host$request_uri;
}
- 使用页面跳转
就是利用80端口返回一个html,利用html中的内容来实现跳转,很好的一个例子,是百度,当我们使用 http://google.com 访问时会发现直接返回一个静态页面,内容如下:
<html>
<meta http-equiv="refresh" content="0;url=https://www.google.com/">
</html>