avatar

如何免费给你的域名配置Sll证书,实现https访问

前言

经过几天的钻研,终于配置好了hexo博客,也成功的部署到了云上,感觉万事大吉的时候,浏览器地址栏那红红的“不安全”让强迫症的我难受的一匹,果断解决他,干了嗷~~。兄弟们,奥利给!!!

注册SSL证书

首先,面向百度,搜索了一下,筛选出两个结果,

图片说明

what fuck?证书免费??配置服务300软妹币? 家境贫寒,告辞!

转念一想,我不就要免费SSL证书嘛,百度搜索免费SSL FreeSSl,映入眼帘,打开网站,嗯,挺好看,就你了,

图片说明

先注册,然后输入网址,选择两个免费的品牌,之后点击创建,

输入邮箱,

图片说明

点击创建,按弹窗提示,下载KeyManger,安装,注册,登陆后

在浏览器上点击继续

图片说明

根据提示添加DNS服务提供商

以华为云为例子

图片说明

先新增一个密钥,华为云会自动给你下载一个 [credentials.csv]文件,打开之后,获得AccessKeyld和SecretAccessKey

图片说明

添加之后,你就得到了证书

配置SSL证书(nginx为例)

首先下载证书文件

图片说明

点击详情后,点击查看证书,然后选择导出证书,然后会下载两个文件,一个.crt文件,一个.key文件

上传证书文件并配置Nginx

登陆服务器

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
cd /etc/nginx/sites-available/  #切换到Nginx的配置文件目录
vim default #修改Nginx配置文件

##default需要修改的配置如下
server {
listen 80;
#listen [::]:80; 这一行代码,还有下下下一行注释掉代码,可以实现https和http均能访问页面,如果要强制https访问,只需吧#listen [::]:80;和 #listen [::]443 ssl;取消注释,
listen 443 ssl;
#listen [::]443 ssl;
server_name yookbu.xyz;
ssl off;
#ssl on;
ssl_certificate yookbu.xyz_chain.crt; #此处输入你下载得到.crt文件名
ssl_certificate_key yookbu.xyz_key.key; #此处输入你下载得到.key文件名
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;


##下面的配置按你自己原来配置好的就行,不用修改
root ;
# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;
server_name ;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}

保存配置文件

把本地下载得到的.crt文件和.key文件通过ftp工具上传到服务器的Nginx根目录。例如/etc/nginx/

1
2
#重启Nginx服务器,
sudo service nginx restart

大功告成!!!

问题解决

配置完成,一切正常,却无法访问网站

拍查原因:

(1)nginx是否启动

1
2
3
4
root@ecs-sn3-medium-2-linux-20200203153603:/etc/nginx/sites-available# ps -ef |grep nginx
root 1894 21233 0 23:11 pts/0 00:00:00 grep --color=auto nginx
root 20681 1 0 22:05 ? 00:00:00 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
www-data 20683 20681 0 22:05 ? 00:00:00 nginx: worker process

(2)公网IP安全组是否开通了443(https)端口

华为云安装组配置

(3)防火墙是否未开放443端口

1
2
3
systemctl status firewalld #判断防火墙状态, active(running)即为开着
firewall-cmd --zone=public --add-port=443/tcp --permanent #开放443端口
systemctrl reload firewalld #重载防火墙

还有其他问题的话,可以百度,也欢迎给我留言,我看到会回复你的

文章作者: yookbu
文章链接: http://www.yookbu.xyz/%E5%A6%82%E4%BD%95%E5%85%8D%E8%B4%B9%E7%BB%99%E4%BD%A0%E7%9A%84%E5%9F%9F%E5%90%8D%E9%85%8D%E7%BD%AESll%E8%AF%81%E4%B9%A6%EF%BC%8C%E5%AE%9E%E7%8E%B0https%E8%AE%BF%E9%97%AE/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 yookbu
打赏
  • 微信
    微信
  • 支付寶
    支付寶

评论