之前访问个人网站的协议是http
;这个不够安全,容易被劫持,现在一般用https
,这就需要ssl认证
。
阿里云现在有免费的ssl证书,就是路径藏得比较深。
在阿里云主页,点击如下链接。
选择ssl证书控制台。
点击购买证书。
进行如下配置,可以看到费用是0。
支付成功后点击证书控制台。
点击证书申请,填写相关信息。
填写好了后(一般就填写个人信息,其余的默认就行),点击提交审核。
通过审核后,可以在已签发一栏查看下载。
接下来选择证书下载,根据自己的web服务器类型选择对应的证书下载配置即可。我的博客是搭建在nginx上的,这里以nginx为例。
将相关文件下载后解压,放置在nginx的安装目录下。
然后更改nginx的配置文件
cd nginx目录
vim conf/nginx.conf
在如下位置插入下面三行:
listen 443 ssl;
ssl_certificate /usr/local/nginx/4307968_www.afuya.xyz.pem; # 这个是证书的crt文件所在目录
ssl_certificate_key /usr/local/nginx/4307968_www.afuya.xyz.key; # 这个是证书key文件所在目录
然后重启nginx。
nginx -s reload
如果重启nginx时发生一下报错
说明nginx没有安装ngx_http_ssl_module
模块,解决方案如下。
# 切换到源码包,注意不是nginx的安装目录
cd nginx源码目录(一般是nginx-1.x.x这个形式的目录)
# 配置信息
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
# 配置完成后,运行make进行编译,千万不要进行make install,否则就是覆盖安装。
make
此时当前目录会出现objs
文件夹。
然后将相应位置的文件替换即可。
# 将原来的文件备份
mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
# 替换文件
cp /usr/local/nginx/objs/nginx /usr/local/nginx/sbin/nginx
然后再重启nginx
nginx -s reload
如果还发现报错
则运行下行命令
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
然后就可以发现nginx能够顺利重启了。
通过下列命令可以看到nginx安装好的模块
nginx -V
nginx重启后,就可以通过https
协议顺利访问网址了,记得要在阿里云安全组控制台添加443端口。