nginx的https搭建
一、打开防火墙,让其开放http协议和https协议
[root@ceserver ~]# systemctl enable firewalld
[root@ceserver ~]# firewall-cmd --add-service=http
[root@ceserver ~]# firewall-cmd --add-service=https
二、搭建一个网站,使该网站具备账户验证功能
1、新增一个专门管理网站的账户
[root@ceserver ~]# useradd qgk
[root@ceserver ~]# passwd qgk
2、将网站和这个账户关联起来
(1)首先要安装工具:httpd-tools
[root@ceserver ~]# dnf install httpd-tools -y
使用htpasswd关联新增的用户和网站
[root@ceserver web]# htpasswd -c /etc/nginx/passwd qgk
3、修改nginx的配置文件
[root@ceserver web]# vim /etc/nginx/nginx.conf
44 -----------------------
auth_basic "please input your passwd"; (登录提示)
auth_basic_user_file /etc/nginx/passwd; (管理网站和密码文件)
47 -------------------------
4、检查nginx配置文件语句是否正确,重新加载nginx
5、通过浏览器验证,输入http://www.qgk.com
三、搭建一个https网站
1、创建非对称加密使用的私钥文件
[root@ceserver web]# openssl genrsa -out qgk.key
2、通过私钥文件生成证书文件
[root@ceserver web]# openssl req -new -key qgk.key -x509 -days 365 -out qgk.crt
# req:申请创建证书
# -new:新的证书
# -key qgk.key:使用qgk.key这个密钥
# -x509:此为测试证书
# -days:证书有效期
3、将上面生成的证书移动到nginx配置目录中
[root@ceserver web]# mv qgk.crt qgk.key /etc/nginx/
4、绑定虚拟主机和证书
[root@ceserver web]# vim /etc/nginx/nginx.conf
server{
listen 443 ssl;
server_name www.qgk.com;
root /web/qgk;
ssl_certificate /etc/nginx/qgk.crt;
ssl_certificate_key /etc/nginx/qgk.key;
}
5、检查nginx配置文件是否正确,重新加载配置文件
[root@ceserver web]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@ceserver web]# nginx -s reload
6、通过浏览器验证
(此为验证成功)
