网站配置免费的SSL安全证书,小白也能懂,给网站上SSL证书之后,你的网站会比没证书的更安全一点,而且可以使用http2.0协议来提升网站的性能,推荐一款在华为云上可申请的免费SSL证书,亲测可用。

什么是SSL证书?

SSL 证书就是遵守 SSL协议,由受信任的数字证书颁发机构CA,在验证服务器身份后颁发,具有服务器身份验证和数据传输加密功能。

SSL证书通过在客户端浏览器和WEB服务器之间建立一条SSL安全通道(Secure socket layer(SSL)安全协议是由Netscape communication公司设计开发。该安全协议主要用来提供对用户和服务器的认证;对传送的数据进行加密和隐藏;确保数据在传送中不被改变,即数据的完整性,现已成为该领域中全球化的标准。由于SSL技术已建立到所有主要的浏览器和WEB服务器程序中,因此,仅需安装服务器证书就可以激活该功能了),即通过它可以激活SSL协议,实现数据信息在客户端和服务器之间的加密传输,可以防止数据信息的泄露,保证了双方传递信息的安全性。

引用百度百科

什么是Http2.0?

简单来说,HTTP/2(超文本传输协议第2版,最初命名为HTTP2.0),是HTTP协议的第二个主要版本。HTTP/2是HTTP协议自1999年HTTP1.1发布后的首个更新,主要基于SPDY协议。

HTTP2.0的特点是:在不改动HTTP语义、方法、状态码、URI及首部字段的情况下,大幅度提高了web性能。

如何申请华为云的免费证书

1. 在华为云的控制台搜索SSL证书管理

https怎么申请ssl证书(不懂技术的小白给网站配置免费的SSL安全证书)(1)

2. 在证书列表->右上角点击购买

https怎么申请ssl证书(不懂技术的小白给网站配置免费的SSL安全证书)(2)

3. 选择证书类型-DV(Basic)、证书品牌-DigiCert、单域名、有效期一年,免费证书只能固定选择,购买即可,费用是0.0元,所以不用支付

https怎么申请ssl证书(不懂技术的小白给网站配置免费的SSL安全证书)(3)

4. 购买成功后要申请证书,申请时有两个选择 系统生成CSR、自己生成CSR,根据自己需要选择,本次选择系统生成CSR,因为免费证书只支持单域名,所以只能写 www.a.com或a.com

https怎么申请ssl证书(不懂技术的小白给网站配置免费的SSL安全证书)(4)

https怎么申请ssl证书(不懂技术的小白给网站配置免费的SSL安全证书)(5)

5. 域名DNS验证,按照操作说明在域名解析处把 txt记录值按要求填写完成后,按照验证方式自己验证一下,对手新手小白添加txt记录值时可能遇到提示缺少左引号《华为云解析TXT记录值提示无左引号》

https怎么申请ssl证书(不懂技术的小白给网站配置免费的SSL安全证书)(6)

注意:

在验证时不要犯小错误,操作说明提供的命令nslookup -qt=TXT _dnsauth.域名.com 这是windows上的命令,如果你是linux系统要把命令写完整 nslookup -querytype=TXT _dnsauth.域名.com

下载和nginx安装SSL证书

安装证书前,请务必将你的云服务器上安全组里把443端口打开

1. 在华为云SSL证书管理->证书列表中下载

2. 你证书下载完后解压出来,因为选择的系统生成CSR 所以拷贝Nginx目录下的.crt和.key到你的服务器Nginx安装目录创建cert目录下或者自己管理的目录中

# ls Apache IIS Nginx Tomcat domain.csr

# Nginx目录下的文件 server.crt server.key

3. Nginx上的配置,目前的Nginx单独的域名server{...}配置都是在conf.d目录

server { listen 443 ssl; server_name a.com; ssl_certificate /path/server.crt; ssl_certificate_key /path/server.key; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; location / { root html; index index.html index.htm; } }

参数参数说明listenSSL访问端口号,设置为“443”。SSL设置为“on”,启用SSL功能。ssl_certificate证书文件“server.crt”。设置为“server.crt”文件的路径,且路径中不能包含中文字符,例如“cert/server.crt”。ssl_certificate_key私钥文件“server.key”。设置为“server.key”的路径,且路径中不能包含中文字符,例如“cert/server.key”。ssl_protocols使用的协议。ssl_ciphers配置加密套件,写法遵循OpenSSL标准。

4. 配置完成后验证Nginx配置是否正确

进入nginx执行目录下,执行以下命令:

sbin/nginx -t

配置正确,回显信息如下所示:

nginx.conf syntax is ok nginx.conf test is successful

5. 重启Nginx后在浏览器中访问你的域名测试 https://a.com

注意

如果你的Nginx使用的docker容器运行的,你需要把server.crt和server.key放在本机目录映射给容器,举个例子:

docker run -d -p 80:80 -p 443:443 -v /本机路径/cert:/容器路径/cert nginx

使用容器的话,Nginx的配置文件中的路径应该写容器内的路径

配置Nginx Http请求转向Https

在配置Http转向Https时,请使用301,不要使用rewrite,否则搜索引擎抓取时会失败

完整的Nginx配置文件:

server { listen 80; server_name localhost; return 301 https://${server_name}$request_uri; } server{ listen 443 ssl; server_name localhost; ssl_certificate /etc/nginx/cert/server.crt; ssl_certificate_key /etc/nginx/cert/server.key; ssl_session_timeout 5m; # ssl_session_cache shared:SSL:1m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; access_log /var/log/nginx/access.log; location / { root /nginx/html index index.html index.htm index.php } }

亲测结果,本人使用的是Docker容器运行的Nginx,有问题的伙伴可留言

https怎么申请ssl证书(不懂技术的小白给网站配置免费的SSL安全证书)(7)

华为云官方的证书配置文档 https://support.huaweicloud.com/scm_faq/scm_01_0023.html#scm_01_0023__zh-cn_topic_0171809251_li132139219148

SSL配置生成器 https://ssl-config.mozilla.org/

本文转载自本人博客 https://mypubtools.com

,