Nginx配置http强制跳转https

使用网站的http访问时我会把它转到我们https站点下。在Nginx中怎么配置呢?总结一下网上搜集的方案

  1. rewrite 方法

这是最常用的实现方法, 利用Nginx的rewrite功能将所有 http 请求重定向到 https。同时支持多域名。配置如下:

server {
    listen 80;
    server_name www.google.com
    return 301 https://$http_host$request_uri;
}
  1. 497 状态码

利用了独特的状态码完成跳转,在80端口没有指定返回时,会自动返回497状态,示例如下:

server {
    listen 80;
    server_name www.google.com;
    error_page 497  https://$http_host$request_uri;
}
  1. 使用页面跳转

就是利用80端口返回一个html,利用html中的内容来实现跳转,很好的一个例子,是百度,当我们使用 http://google.com 访问时会发现直接返回一个静态页面,内容如下:

<html>
<meta http-equiv="refresh" content="0;url=https://www.google.com/">
</html>
posted @ 2022-06-03 10:03  山分子  阅读(1567)  评论(0编辑  收藏  举报