在我们的博客搭建好了之后呢,通过域名访问会提示不安全,那么怎么解决这个问题呢。我们可以通过对我们的域名申请ssl证书来解决。还是以视频为主,这个文字更多的是一些用到的指令的罗列吧。
在开始之前我们要保证etc/ssl目录存在,用于保存我们的私钥和证书文件。
没有则新建目录etc/ssl
1 | mkdir etc/ssl |
编辑nginx的配置文件
1 | vim /usr/local/nginx/conf/nginx.conf |
需要调整以下参数或者直接应用配置文件中的模板,依次对照进行修改。
注意 更改项前面的井号需要去除,井号代表注释,被注释的代码讲不会生效。
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 | http{ #http节点中可以添加多个server节点 server{ #监听443端口 listen 443; server_name 你的域名; ssl on; ssl_certificate /etc/ssl/1.crt.pem; ssl_certificate_key /etc/ssl/1.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on; #这是我的主页访问地址,因为使用的是静态的html网页,所以直接使用location就可以完成了。 location / { #文件夹 root /usr/local/service/ROOT; #主页文件 index index.html; } } server{ listen 80; server_name 你的域名; rewrite ^/(.*)$ https://你的域名:443/$1 permanent; } } |
每次更改配置文件都需要重启nginx服务。此时会报错,没关系,正常现象。
1 | service nginx restart |
此时会报错,没关系,正常现象。先保证nginx服务关闭。输入代码关闭服务。
1 | service nginx stop |
查看一下是不是真的关闭了,执行以下指令。
1 | netstat -lnpt |
如果返回的数据中没有 80 和 443两个数字 则为关闭成功。
我们需要安装ssl模块。
如果之前ngxin的压缩包还在,那最好,不在了也没关系。我们重新下载对应版本的压缩包。
查询版本
1 | /usr/local/nginx/sbin/nginx -V |
去官网找到下载连接,进入/usr/local路径 使用指令
1 2 3 | wget 下载链接 |
下载并且解压(解压指令 tar -xvf 压缩包全名)
进入解压后的文件夹路径执行指令
1 2 3 4 5 | ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-file-aio --with-http_realip_module make |
如果报错,按照我之前教程走的话这里不会报错,因为这个依赖我们安装了。报错的话执行下面的,不报错就算了,
1 | yum -y install openssl openssl-devel |
继续执行下面的指令。将nginx启动文件覆盖。第一条指令是备份,
1 2 3 4 5 | cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak cp objs/nginx /usr/local/nginx/sbin/nginx |
最后我们启动服务
1 | service nginx start |
查看监听端口
1 | netstat -lnpt |
如果出现80 和 443端口则为成功
最后一定要去阿里云的安全组开放443端口,操作和开放80端口方法是一样的。