首先肯定的是服务器文件配置错误:
在服务器配置中,如果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。
本文来源:本文来自于网络整理 | 本站部分文章来源于网络,若侵犯了您的权益,请附说明联系删除
如若转载,请注明出处:https://www.aiyuai.cn/archives/550.html | 爱与爱资源网-传递的不仅仅是知识
共有 0 条评论---(要不...来一句吧,实再不行抽一根也中!)