做外贸独立站,SSL证书是必不可少的。这小绿标不仅仅是一个安全锁,更重要的是会让我们的客户产生信任感,提高不少的转化率。所以SSL证书对于B2C外贸站来说,这个是必须的。
Cloudflare除了提供全球CDN加速,对于免费用户,它同样提供免费的https证书,并且这个https证书的有效期长达15年,这家企业真心的良心大大的好。今天我们就来学习一下怎么样在Ubuntu 18.04 Apache2 上面安装 Cloudflare SSL 证书。
文章目录:
第一步:CloudFlare SSL证书生成
第二步:Apache 2 服务器 CloudFlare SSL证书配置
第三步:CloudFlare SSL证书 生效 及相关问题
CloudFlare SSL证书生成
1.0.1 创建CloudFlare 账号
打开官方网站 自行注册。注意密码不要用太简单的就行
1.0.2 添加你的网站
在add a site 上面加上你的网站
这个时候,就会跳转到让你们修改DNS记录到CloudFlare上。请到你的域名购买商那里修改DNS。
如果是阿里云购买的,
-
域名>>域名列表>>找到berollo.com>>管理>>DNS修改
-
修改完成后,等装DNS生效
1.0.3 生成SSL证书
1.0.3.1 找到SSL/TLS,在Overview里面有4种SSL方式.
-
OFF(关闭):没有访问者能够通过HTTPS查看您的网站; 他们将被重定向到HTTP。
-
Flexible SSL(灵活的SSL):即使使用对您的站点无效的证书,也无法在您的原始设备上配置HTTPS支持。访问者将能够通过HTTPS访问您的网站,但通过HTTP连接到您的来源。注意:您可能会遇到一些带有一些原点配置的重定向循环。
-
Full SSL(完整SSL):您的源支持HTTPS,但安装的证书与您的域不匹配或者是自签名的。Cloudflare将通过HTTPS连接到您的来源,但不会验证证书。
-
Full SSL (strict)(完全SSL(严格)):您的原产地有安装的有效证书(未过期并由受信任的CA或Cloudflare Origin CA签署)。Cloudflare将通过HTTPS连接并验证每个请求的证书。
我们选择Full SSL(strict)。因为这种方式才完整意义上的SSL加密。
PS:如果你的网站没有HTTP证书,你想在浏览器上显示小绿标,你可以选择Flexible SSL。
1.0.3.2 Edge Certificates
-
Always Use HTTPS :开启
-
HTTP Strict Transport Security (HSTS) :开启(可以不开)
-
Minimum TLS Version:用TLS 1.0就可以了
-
Opportunistic Encryption:开启
-
Onion Routing:开启
-
TLS 1.3:开启
-
Automatic HTTPS Rewrites:开启
1.0.3.3 到Page Rule下面,把所有的页面,都启用https
1.0.3.4 Origin Server
在origin server 点击 Create Certification 生成 Origin Certificates
就会跳转到一个页面:选择RSA
有效期是15年,当然你也可以选择:7天,30天,90天,1-3年等等,然后点 Next
Next后,跳转到了一个证书页面。这个页面有两个东西要保存。第一个是Orginal Certificate.保存格式:PEM.比如命名为:cert-berollo.com.pem
第二个是:Private key.保存格式:PEM。比如命名为:key-berollo.com.pem
然后,我们还要去下载一个origin-pull certificate。比如命名为:origin-pull-ca.pem
到止:我们把Cloudflare ssl证书配置完成了。同时我们得到了三个文件:
-
cert-berollo.com.pem
-
key-berollo.com.pem
-
origin-pull-ca.pem
CloudFlare SSL证书 15年
第二步:Apache 2 服务器 CloudFlare SSL证书配置
2.0.1 Apache2 安装Open SSL
2.0.1.1 直接接在服务器SSH面板,用以下命令,安装完成
-
sudo -i #用管理员权限安装
-
sudo apt-get install openssl
-
sudo apt-get install libssl-dev
2.0.2 上传第一部分生成的三个文件到服务器
2.0.2.1 在apache2 文件夹下面创建一个文件夹,命名为ssl.同时给与他权限777
-
mkdir ssl
-
chmod 777 ssl
2.0.2.2 上传文件
-
cert-berollo.com.pem
-
key-berollo.com.pem
-
origin-pull-ca.pem
到ssl这个文件夹。
2.0.3 apach2服务器 配置CloudFlare SSL证书
然后找到apache2 的配置文件,默认是000-default.conf
-
cd /etc/apache2/sites-available
用VIM打开:
-
vim 000-default.conf
把以下代码复制到这个文件中:
-
-
<VirtualHost *:443>
-
Protocols h2 http:/1.1
-
ServerAdmin webmaster@localhost
-
DocumentRoot /var/www/html/
-
ServerName pplova.com
-
ServerAlias www.pplova.com
-
-
SSLEngine on
-
SSLCertificateFile /etc/apache2/ssl/cert-berollo.com.pem
-
SSLCertificateKeyFile /etc/apache2/ssl/key-berollo.com.pem
-
SSLCACertificateFile /etc/apache2/ssl/origin-pull-ca.pem
-
SSLVerifyClient require
-
SSLVerifyDepth 1
-
-
<Directory /var/www/html/>
-
Options FollowSymlinks
-
AllowOverride All
-
Require all granted
-
</Directory>
-
-
ErrorLog ${APACHE_LOG_DIR}/error.log
-
CustomLog ${APACHE_LOG_DIR}/access.log combined
-
-
<Directory /var/www/html/>
-
RewriteEngine on
-
RewriteBase /
-
RewriteCond %{REQUEST_FILENAME} !-f
-
RewriteRule ^(.*) index.php [PT,L]
-
</Directory>
-
</VirtualHost>
-
-
SSLCertificateFile /etc/apache2/ssl/cert-berollo.com.pem #这个是orginal cerificate
-
SSLCertificateKeyFile /etc/apache2/ssl/key-berollo.com.pem #这个是private key
-
SSLCACertificateFile /etc/apache2/ssl/origin-pull-ca.pem #这个是origin pull ca
2.0.4 重启配置
-
sudo a2ensite 000-default.conf
-
sudo a2enmod rewrite
-
sudo systemctl restart apache2.service
第三步:CloudFlare SSL证书 生效 及相关问题
OK,完成以上两步。在浏览器里面输入你的网站:https://www.berollo.com
应该就有小绿锁了。这个是小绿锁是真下意义上的SSL。
如果说你到这一步,得到是一个黄色的感叹号。那么请检查你们的网站资源,如图片,外链等,看他们是不是没有用https来链接。然后发现他们,把他们全部改掉就会出现小绿锁。
因为:有黄色感叹号的原因是网站加载了http资源,通过修改本站资源路径(将http://修改成https://)即可。
提供两个方法:
方法一:在每个页面顶部<head></head>中添加下面代码
-
<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests" />
方法二:在Apache、Nginx服务器上加入以下header头:
-
header("Content-Security-Policy: upgrade-insecure-requests");
结束语:
这篇笔记记录2020年,在ubuntu apache2 上面安装CloudFlare SSL证书。写这文章之前,我已经成功的给我自己的两个外贸站安装 好了CloudFlare SSL证书。在此之前,参考了很多文档。很多都是几年之前的,现在CloudFlare的面板都改了。所以记录一下,希望对安装 CloudFlare SSL证书的同学会有所帮助。

