如何免费给你的域名配置SSL证书,实现https访问
前言
经过几天的钻研,终于配置好了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 #重载防火墙
还有其他问题的话,可以百度,也欢迎给我留言,我看到会回复你的