前言

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

注册SSL证书

首先,面向百度,搜索了一下,筛选出两个结果,
图片说明
what ***?证书免费??配置服务300软妹币? 家境贫寒,告辞!

转念一想,我不就要免费SSL证书嘛,百度搜索免费SSL FreeSSl,映入眼帘,打开网站,嗯,挺好看,就你了,
图片说明
先注册,然后输入网址,选择两个免费的品牌,之后点击创建,

输入邮箱,
图片说明
点击创建,按弹窗提示,下载KeyManger,安装,注册,登陆后

在浏览器上点击继续
图片说明
根据提示添加DNS服务提供商

以华为云为例子
图片说明
先新增一个密钥,华为云会自动给你下载一个 [credentials.csv]文件,打开之后,获得AccessKeyld和SecretAccessKey
图片说明
添加之后,你就得到了证书

配置SSL证书(nginx为例)

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

上传证书文件并配置Nginx

登陆服务器

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/

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

大功告成!!!

问题解决

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

拍查原因:

(1)nginx是否启动

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端口

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

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