网页https为什么会自动跳转http

本文作者:小爱哥哥 发布时间:2024年8月4日 浏览次数:87 22时:49分

首先肯定的是服务器文件配置错误:‌

在服务器配置中,‌如果Nginx或其他web服务器的配置不正确,‌可能会导致HTTPS请求被错误地重定向到HTTP。‌例如,‌如果配置中缺少正确的重定向规则,‌或者配置了错误的重定向逻辑,‌就可能导致这种跳转发生

如何处理NGINX访问https会跳转到http

说明ningx做代理服务器并且设置了https

问题:浏览器打开https://www.aiyuai/aaa.html,然后跳转到http://www.aiyuai.com/aaa.html

解决方法1:

在nginx代理中增加一个header,标志用户请求是http还是https,后端获取header决定跳转到http/https页面。这个方法需要修改nginx配置和程序,不推荐,但是可以解决问题。

解决方法2

nginx代理中配置proxy_redirect

proxy_redirect http:// $scheme://;

以上指令会将后端响应header location内容中的http://替换成用户端协议https://。

NGINX访问https跳转到http的解决了

 

那么如何让http跳转https呢?(反向操作)

1、打开NGINX配置文件

找到NGINX的配置文件,通常位于/etc/nginx/nginx.conf/etc/nginx/sitesavailable/default

使用文本编辑器(如vi或nano)打开配置文件。

2、配置HTTPS监听

在配置文件中,找到或添加一个server块,用于监听443端口(HTTPS默认端口)。

在该server块中,配置SSL证书和私钥的路径。

“`

server {

listen 443 ssl;

server_name example.com;

ssl_certificate /path/to/certificate.crt;

ssl_certificate_key /path/to/private.key;

}

“`

3、配置HTTP重定向到HTTPS

在配置文件中,添加一个新的server块,用于监听80端口(HTTP默认端口)。

在该server块中,使用return 301 https://$host$request_uri;指令将HTTP请求重定向到HTTPS。

“`

server {

listen 80;

server_name example.com;

return 301 https://$host$request_uri;

}

“`

4、保存并退出配置文件

保存对配置文件的更改,并关闭文本编辑器。

5、重新加载NGINX配置

运行以下命令重新加载NGINX配置,使更改生效:

“`

sudo service nginx reload

“`

现在,当用户尝试通过HTTP访问您的网站时,NGINX将自动将其重定向到HTTPS。

- THE END -

本文来源:本文来自于网络整理  |  本站部分文章来源于网络,若侵犯了您的权益,请附说明联系删除

共有 0 条评论---(要不...来一句吧,实再不行抽一根也中!)