Nginx http强转https

 我来答
科创17
2022-06-26 · TA获得超过5901个赞
知道小有建树答主
回答量:2846
采纳率:100%
帮助的人:175万
展开全部

参考大神文章 散尽浮华

http访问强制跳转到https
网站添加了https证书后,当http方式访问网站时就会报404错误,所以需要做http到https的强制跳转设置.

一、采用nginx的rewrite方法

例如将所有的dev.demodomain.com域名的http访问强制跳转到https。

下面配置均可以实现:

配置1:

配置2:

配置3:这种方式适用于多域名的时候,即访问 demodomain.com 的http也会强制跳转到 https://dev.demodomain.com 上面

配置4:下面是最简单的一种配置

497 - normal request was sent to HTTPS

解释:当网站只允许https访问时,当用http访问时nginx会报出497错误码

思路:

利用error_page命令将497状态码的链接重定向到 https://dev.demodomain.com 这个域名上

配置实例:

如下访问dev.demodomain.com或者demodomain.com的http都会被强制跳转到https

也可以将80和443的配置放在一起:

}
到443端口

server_name dev.demodomain.com;

如果遇到非标准443端口的https情况下,则http到https的强转配置就需要使用上面这种497状态码的方式了。如下:

这样访问 http://www.kevin.com:9443 就会自动跳转到 https://www.kevin.com:9443 。

这种方式直接配置https端口就可以,不需要再配置http端口。

|

上述的方法均会耗费服务器的资源,可以借鉴百度使用的方法:巧妙的利用meta的刷新作用,将http跳转到https

可以基于 http://dev.demodomain.com 的虚拟主机路径下写一个index.html,内容就是http向https的跳转

将下面的内容追加到index.html首页文件内

[root@localhost ~]# cat /usr/local/nginx/conf/vhosts/test.conf

这里分享一个nginx反代tomcat,并且http强制跳转至https的配置示例 (这里访问 http://zrx.demodomain.com 和访问 http://172.29.34.33:8080/zrx/ 结果是一样的)

[root@BJLX_34_33_V vhosts]# cat zrx.conf

解决办法:

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Storm代理
2023-08-29 广告
StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,IP... 点击进入详情页
本回答由Storm代理提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式