LAMP网站申请Let‘’s Encrypt SSL证书升级https

简介:

基本概念:

HTTP: 是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准,用于从WWW服务器传输超文本到本地浏览器的传输协议,它可以使浏览器更加高效,使网络传输减少。

HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。

谷歌、火狐等浏览器厂商也已经扛起HTTPS大旗,对于HTTP站点会提示不安全警告。而且像谷歌、百度等搜索引擎也早已相应HTTPS号召,都声称对HTTPS站点页面友好甚至优先抓取,排名靠前,当然具体实际实施情况就另当别论了。

要让互联网站点都升级到HTTPS协议还需一段时间,但不可否认HTTPS是大势所趋。已过一番折腾,终于将站点升级到https访问。

下图是在部署https之前使用HTTP协议访问效果:

网站环境:

操作系统:centos6.5 x64

web服务:Apache 2.4+ 

免费证书商家:Let's Encrypt SSL

操作流程:

1.安装证书

我使用的是Let's Encrypt SSL免费证书,有效期3个月,需要定期更新。(更多国内外免费SSL证书推荐参考

安装SSL证书我使用的是certbot工具,操作十分简单方便。

下载certbot,并设置权限:

wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto

使用certbot申请安装证书:

./certbot-auto certonly --webroot --apache -w /data/wwwroot/www.chanzhicms.com -d www.chanzhicms.com

 -w后面是网站的根目录路径,-d后面是申请证书的域名,多个域名的话,在后面继续添加设置多个-d即可。

申请成功后,可以查看到SSL证书的有效截止日期。申请的证书默认存放在 /etc/letsencrypt 目录下。

2.修改Apache配置文件

设置apache的配置文件 /usr/local/apache/conf/httpd.conf,要修改两个地方,找到下面两行将其前面的#去掉即可。

LoadModule ssl_module modules/mod_ssl.so
Include conf/extra/httpd-ssl.conf
然后修改/usr/local/apache/conf/extra/httpd-ssl.conf 文件,将里面内容清空,放入下面内容:
Listen 443
AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl .crl
SSLCipherSuite EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5
SSLProxyCipherSuite EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5
SSLHonorCipherOrder on
SSLProtocol all -SSLv2 -SSLv3
SSLProxyProtocol all -SSLv2 -SSLv3
SSLPassPhraseDialog builtin
SSLSessionCache "shmcb:/usr/local/apache/logs/ssl_scache(512000)"
SSLSessionCacheTimeout 300
Mutex sysvsem default
SSLStrictSNIVHostCheck on

最后修改网站的单独配置文件,/usr/local/apache/conf/vhost/www.chanzhicm.com.conf ,原本只有80端口配置,这里需要我们加上443端口的配置:

    ServerAdmin admin@linuxeye.com
    DocumentRoot "/data/wwwroot/www.chanzhicms.com"
    ServerName www.chanzhicms.com
    ServerAlias chanzhicms.com
    ErrorLog "/data/wwwlogs/www.chanzhicms.com_error_apache.log"
    CustomLog "/data/wwwlogs/www.chanzhicms.com_apache.log" combined    SetOutputFilter DEFLATE
    Options FollowSymLinks ExecCGI
    Require all granted
    AllowOverride All
    Order allow,deny
    Allow from all
    DirectoryIndex index.html index.phpListen 443    DocumentRoot "/data/wwwroot/www.chanzhicms.com"
    ServerName www.chanzhicms.com:443
    ServerAlias www.chanzhicms.com
    ErrorLog "/data/wwwlogs/www.chanzhicms.com_error_apache.log"
    ServerAdmin admin@linuxeye.com
    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/www.chanzhicms.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/www.chanzhicms.com/privkey.pem
            SetOutputFilter DEFLATE
        Options FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
        DirectoryIndex index.html index.php
        Require all granted

上面配置中的网站名称、网站路径、证书路径等信息,大家根据自己的具体情况填写。

注意:

这里必须要特别强调一点,因为我的Apache版本是2.4+的,在Directory中,一定要加上一条 Require all granted ,否侧会出现网站HTTP访问正常,但https访问提示 403 forbidden。这条命令是apache2.4新增加的,用以替代allow,deny以及order指令。

最后,重启Apache!重启Apache!重启Apache!


使用https访问网站,查看是否生效。如下图:

小结:

网站升级https其实并不复杂,只是一些细节问题上可能会因环境而异,所以不要盲目地仿照他人操作流程,一定要先看服务器环境。其次,因为https使用443端口,所以服务器防火墙要放开443端口访问,我用的阿里云服务器,还会涉及到安全策略设置,所以在操作时,注意检查端口是否监听。

如果大家在部署https访问网站时遇到其他问题,欢迎留言反馈,我们共同学习交流。



目录
相关文章
|
安全 数据建模 应用服务中间件
阿里云SSL证书价格、证书类型及免费版证书申请和证书部署教程参考
阿里云SSL证书有收费版也有免费版,收费版DV域名级SSL类型405元起,免费版证书为DV域名级SSL类型,每个实名个人和企业主体在一个自然年内可以一次性领取20张免费证书。本文为大家详细介绍阿里云SSL证书价格情况,包括不同域名类型、证书类型、证书等级和证书品牌的相关收费标准,以及免费版证书的申请和部署教程参考。
|
安全 算法 网络协议
解析:HTTPS通过SSL/TLS证书加密的原理与逻辑
HTTPS通过SSL/TLS证书加密,结合对称与非对称加密及数字证书验证实现安全通信。首先,服务器发送含公钥的数字证书,客户端验证其合法性后生成随机数并用公钥加密发送给服务器,双方据此生成相同的对称密钥。后续通信使用对称加密确保高效性和安全性。同时,数字证书验证服务器身份,防止中间人攻击;哈希算法和数字签名确保数据完整性,防止篡改。整个流程保障了身份认证、数据加密和完整性保护。
|
11月前
|
网络安全 API CDN
如何将Cloudflare HTTPS的SSL证书更换为Google签发的
将Cloudflare HTTPS的SSL证书更换为Google签发的
|
数据采集 安全 网络安全
使用aiohttp实现异步HTTPS爬虫的SSL优化
使用aiohttp实现异步HTTPS爬虫的SSL优化
718 81
|
8月前
|
网络协议 应用服务中间件 网络安全
阿里云SSL证书申请具体操作流程,以申请免费SSL证书为例
阿里云免费SSL证书由Digicert提供,单域名可申请20张,有效期3个月。通过数字证书管理控制台,完成购买、域名验证(DNS或文件)、提交审核后下载,支持Nginx、Apache等多服务器格式。
1257 0
|
算法 应用服务中间件 网络安全
阿里云WoSign“国密RSA双SSL证书”应用实践
阿里云WoSign品牌SSL证书是阿里云平台热销的国产品牌证书之一,支持签发国密合规的SM2算法SSL证书以及全球信任的RSA算法SSL证书,能够满足平台用户不同的SSL证书应用需求,同时为用户提供国密模块支持,实现“国密/RSA双证书部署”。
1710 6
阿里云WoSign“国密RSA双SSL证书”应用实践
|
算法 安全 应用服务中间件
2025阿里云智惠采购季,WoSign SSL国产证书折上折满减优惠
**2025阿里云“智慧采购季,就上阿里云”活动火热进行中!** 3月1日至31日,阿里云WoSign品牌SSL证书新老用户同享折上折满减优惠。DV SSL证书低至220元/年起,轻松实现HTTPS加密,保障数据传输安全。领取“智惠采购季上云礼包”,先领券再下单,享受满减优惠。WoSign品牌SSL证书国密RSA双算法支持,确保广泛兼容与可靠部署。
1042 2
2025阿里云智惠采购季,WoSign SSL国产证书折上折满减优惠
|
安全 网络安全 数据安全/隐私保护
HTTP 与 HTTPS 协议及 SSL 证书解析-http和https到底有什么区别?-优雅草卓伊凡
HTTP 与 HTTPS 协议及 SSL 证书解析-http和https到底有什么区别?-优雅草卓伊凡
784 3
|
运维 安全 网络安全
【运维实战分享】轻松搞定 SSL 证书管理,告别证书繁琐操作
Spug证书平台的最大亮点之一就是其极为简化的证书申请流程,无论是新手还是经验丰富的运维专家,都可以在几分钟内轻松完成证书的申请,通过微信扫码直接登录申请,无需复杂注册,整个过程既方便又快捷。
392 17
|
运维 安全 数据建模
阿里云数字证书管理服务免费版和收费版SSL证书区别、收费标准、申请及部署教程参考
阿里云数字证书管理服务提供多种SSL证书类型和品牌,适用于不同规模的网站,包括但不限于电商、小型企业、大型企业或个人等。阿里云SSL证书有收费版的也有免费版的,有的新手用户由于是初次在阿里云申请SSL证书,可能不是很清楚免费版证书的申请和部署流程,本文为以图文形式为大家展示阿里云免费版SSL证书最新的申请及部署教程,以供参考。