大数跨境
0
0

Ubuntu Apache2 完美安装 Cloudflare SSL 证书[2020版]

Ubuntu Apache2 完美安装 Cloudflare SSL 证书[2020版] 梦龙的笔记
2020-01-12
200
导读:做外贸独立站,SSL证书是必不可少的。这小绿标不仅仅是一个安全锁,更重要的是会让我们的客户产生信任感,提高不

做外贸独立站,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。

如果是阿里云购买的,

  1. 域名>>域名列表>>找到berollo.com>>管理>>DNS修改

  2.  

修改完成后,等装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面板,用以下命令,安装完成

  1. sudo -i #用管理员权限安装

  2. sudo apt-get install openssl

  3. sudo apt-get install libssl-dev

2.0.2 上传第一部分生成的三个文件到服务器

2.0.2.1 在apache2 文件夹下面创建一个文件夹,命名为ssl.同时给与他权限777

  1. mkdir ssl

  2. 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

  1. cd /etc/apache2/sites-available

用VIM打开:

  1. vim 000-default.conf

把以下代码复制到这个文件中:

  1.  

  2. <VirtualHost *:443>

  3. Protocols h2 http:/1.1

  4. ServerAdmin webmaster@localhost

  5. DocumentRoot /var/www/html/

  6. ServerName pplova.com

  7. ServerAlias www.pplova.com

  8.  

  9. SSLEngine on

  10. SSLCertificateFile /etc/apache2/ssl/cert-berollo.com.pem

  11. SSLCertificateKeyFile /etc/apache2/ssl/key-berollo.com.pem

  12. SSLCACertificateFile /etc/apache2/ssl/origin-pull-ca.pem

  13. SSLVerifyClient require

  14. SSLVerifyDepth 1

  15.  

  16. <Directory /var/www/html/>

  17. Options FollowSymlinks

  18. AllowOverride All

  19. Require all granted

  20. </Directory>

  21.  

  22. ErrorLog ${APACHE_LOG_DIR}/error.log

  23. CustomLog ${APACHE_LOG_DIR}/access.log combined

  24.  

  25. <Directory /var/www/html/>

  26. RewriteEngine on

  27. RewriteBase /

  28. RewriteCond %{REQUEST_FILENAME} !-f

  29. RewriteRule ^(.*) index.php [PT,L]

  30. </Directory>

  31. </VirtualHost>

  32.  

  • 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 重启配置

  1. sudo a2ensite 000-default.conf

  2. sudo a2enmod rewrite

  3. sudo systemctl restart apache2.service

第三步:CloudFlare SSL证书 生效 及相关问题

OK,完成以上两步。在浏览器里面输入你的网站:https://www.berollo.com

应该就有小绿锁了。这个是小绿锁是真下意义上的SSL。

如果说你到这一步,得到是一个黄色的感叹号。那么请检查你们的网站资源,如图片,外链等,看他们是不是没有用https来链接。然后发现他们,把他们全部改掉就会出现小绿锁。

因为:有黄色感叹号的原因是网站加载了http资源,通过修改本站资源路径(将http://修改成https://)即可。

提供两个方法:

方法一:在每个页面顶部<head></head>中添加下面代码

  1. <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests" />

方法二:在Apache、Nginx服务器上加入以下header头:

  1. header("Content-Security-Policy: upgrade-insecure-requests");

结束语:

这篇笔记记录2020年,在ubuntu apache2 上面安装CloudFlare SSL证书。写这文章之前,我已经成功的给我自己的两个外贸站安装 好了CloudFlare SSL证书。在此之前,参考了很多文档。很多都是几年之前的,现在CloudFlare的面板都改了。所以记录一下,希望对安装 CloudFlare SSL证书的同学会有所帮助。

【声明】内容源于网络
梦龙的笔记
我是李梦龙,专注Etsy手工平台运营。。。从注册到爆单。
内容 340
粉丝 0
梦龙的笔记 我是李梦龙,专注Etsy手工平台运营。。。从注册到爆单。
总阅读66.9k
粉丝0
内容340