AutoSSL 以及HTTP到HTTPS URL 转发

in #https7 years ago (edited)

大家都知道,地球越来越不安全了网络越来越不安全了,我们每天都离开不网络,也就是说每天面临无数的风险,比如信息被盗啊、计算机被黑啊、银行的钱变成别人的啊、比特币或者STEEM被人卖掉啊等等等等。


(图源:cPanel

cPanel & WHM’s AutoSSL

当然了,现在有好多新老技术从各个方面增加网络的安全性,各种各样的安全措施来降低风险,HTTPS是最常用也是最有用的一种啦,HTTP的话我们传输的信息都是明文的,而HTTPS则是加密的信息,可以有效的防止信息被中间节点截获。

所以最近几年各大网站纷纷都改成HTTPS方式,而Google等一线大厂商也力推HTTPS,像cPanel(WHM)这样的主机管理软件更是与Let's Encrypt合作提供了AutoSSL解决方案。

cPanel & WHM’s AutoSSL听起来似乎很复杂,简单的来讲,就是说如果你的站点没有购买和安装昂贵的SSL证书,cPanel自动给你安一个免费的好用的证书。是不是很令人兴奋,再也不用花每年几十上百美元买网站证书啦!

AutoSSL不解决自动转发

好了,现在我们的网站已经自动安装上了SSL证书,我也可以用https://www.xxx.com 来访问我的网站啦(xxx.com是我举的例子,我可没有这么好的域名)。

一切都是那么完美,我也可以对我的客户们吹嘘,你看,我的网站使用的是安全链接HTTPS,和银行一个级别,你可以放心的在上边提交任何数据了(千万别上当哦)!

但是客户输入域名,直接访问,然后回复我:你这个骗子,当我白痴啊,人家安全站点,上边都显示小锁头,欺负我没见过世面吗?

调查了一下,其实原因在于站点的HTTP和HTTPS可以并存的,这就有问题啦,用户直接访问,很容易跑HTTP上去,毕竟要求用户敲入https:// 有点不人性,真是郁闷。

如何自动转发

其实自动转发很方便的,如果是cPanel主机,只需要在cPanel->Redirects->Add Redirect中添加如下设置即可:

添加之后,结果大致是这个样子:

是不是灰常简单?
(补充一下,cPanel中的重定向工具会导致嵌套重定向,需要再生成的代码中加上限定:RewriteCond %{SERVER_PORT} 80

如果没有cPanel,但是使用Apche,也可以通过设置.htaccess来实现自动转发,代码如下:

RewriteEngine on
RewriteCond %{SERVER_PORT} 80
RewriteCond %{HTTP_HOST} ^xxxx\.net$ [OR]
RewriteCond %{HTTP_HOST} ^www\.xxxx\.net$
RewriteRule ^(.*)$ "https\:\/\/www\.xxxx\.net\/$1" [R=301,L]

其实cPanel的转发,就是通过.htaccess实现的啦。如果不是Apache,我就不懂啦,不过估计Google一下,一定不少方案,这里就不不懂装懂喽。


好了,就这样了,快去设置转发,然后找客户吹牛皮去吧。

参考链接

Sort:  

cPanel中的重定向工具会导致嵌套重定向,应该加个协议选择HTTP还是HTTPS

所以在执行完文中图示操作后,需要手工添加:
RewriteCond %{SERVER_PORT} 80
或者
RewriteCond %{HTTPS} !=on
详情见文中.htaccess代码

或者可以直接使用以下代码:

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R,L]

super merci c est tres interessant surtout quan on compren rien

Bek tuwoe ka vote long beh, postingan kah mantap.

Nice post I like it 👌

进来学习了

赞一个。 我是直接 域名开启 HSTS,这样直接从浏览器的时候就强制 HTTPS了。

学习了

朋友你的文章怎么这么多钱?怎么做才有这么多?

Coin Marketplace

STEEM 0.21
TRX 0.19
JST 0.034
BTC 91427.29
ETH 3128.51
USDT 1.00
SBD 2.92