apache关闭301跳转
最佳回答
最新回答共有4条回答
-
清风若雨
回复我们知道,现在大多少浏览器都要使用https加密,对于这种情况,很多站点都使用了http强制跳转https的方法,这种方法有效的解决了http网站在部署了SSL证书后,输入域名直接跳转到https的问题,但同样也有被域名劫持的风险,因为用户首次访问站点的时候其实也是用的是http请求,之后被重定向到了https,如何解决这个问题呢?这里我们要借助一个新的安全协议:HSTS,教你如何用HSTS实现http跳转https。
什么是HSTS
HSTS(HTTP Strict Transport Security)国际互联网工程组织IETE正在推行一种新的Web安全协议,作用是强制客户端(如浏览器)使用HTTPS与服务器创建连接。
主要目的是为了解决HTTPS网站首次请求时使用的是未加密的HTTP协议,也就说用户一般访问我们的网站都是直接在浏览器输入域名,比如morong.me,然后我们的服务器检测到是HTTP请求,就301跳转到HTTPS页面。那么前半程采用的就是未加密的HTTP请求,同样存在被劫持的可能,那么HTTPS说好的安全性也就大打折扣了!
开启HSTS
开启HSTS很简单,只要在我们网站的响应头里面新增HSTS即可,下面简单说下
1、Nginx服务器
找到nginx.conf配置文件,在网站的server配置代码里面加入如下代码:
server {
listen xx.xx.xx.xx:443 ssl spdy;
server_name www.gworg.com;
add_header Strict-Transport
-
匿名用户
回复将http跳转为https:
1.评估网站的安全风险
准备一个URL列表,将它们从当前HTTP结构映射到HTTPS网站的相应位置,验证所有外部脚本和图像都可以使用HTTPS。
2.执行完整的网站备份
在对站点进行任何更改之前,请完成完整的备份。有关可用的备份选项,可以咨询站点的主机提供商或系统管理员。
3.选择正确的SSL证书
选择受信任的SSL证书颁发机构,付费购买SSL证书,安信证书上就有多种不同类型的SSL证书可选,均与全球知名的CA颁发机构有合作。
4.安装和测试证书
确保正确安装了SSL证书,测试SSL证书并查看浏览器警告。
-
清风若雨
回复301重定向以及相关解决办法:
1、linux的虚拟主机Apache的服务器,需要支持.htaccess 这个文件。(咨询主机商是否支持)如果支持,则先2个域名都解析到同一个IP,然后在.htaccess文件开始处加入一下规则:
代码:
RewriteCond %{http_host} ^AAA.com [NC]
RewriteRule ^(.*)$ http://www.AAA.com/$1 [R=301.L]须注意的就是:.htaccess这个文件基本在传到本地是不能直接被修改的,我们可以采用修改成.htaccess.txt的形式来进行访问编 辑,把要写的代码写好之后,直接把.htaccess.txt传上空间,再把.htaccess.txt直接用FTP修改成.htaccess文件名,这 样就可以升效啦!
2、window的虚拟主机IIS的服务器,需要有安装 ISAPI_Rewrite这个组件。(咨询主机商是否支持)如果支持,则先2个域名都解析到同一个IP,然后在httpd.ini文件开始处加入以下规则:
代码:
RewriteCond Host:^AAA.com$
RewriteRule (.*) http://www.AAA.com$1 [R,I]如果采用以上代码不可行,请你尝试下这个代码:
代码:
[ISAPI_Rewrite]
# 3600 = 1 hour
CacheClockRate 3600
RepeatLimit 32
RewriteCond Host: ^hongtaoseo.com$
RewriteRule (.*) http://www.hongtaoseo.com$1 [I,RP]