Centos7安装指定版本Nginx,并配置SSL证书
HTML 2021-02-23 23:09 380
一. 安装Nginx
1. 首先在这里复制你要安装的版本的链接: http://nginx.org/packages/centos/7/x86_64/RPMS/
我选择的是1.16.1 : http://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.16.1-1.el7.ngx.x86_64.rpm
2. 执行命令,等待安装完毕:
rpm -ivh http://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.16.1-1.el7.ngx.x86_64.rpm
安装完成后不会自动启动, 手动执行systemctl start nginx启动, systemctl enable nginx启用开机自启
3. 放行80和443端口, 放行防火墙的命令一直记不住
firewall-cmd --permanent --add-port=80/tcp firewall-cmd --permanent --add-port=443/tcp firewall-cmd --reload
4. 此时访问你的ip地址应该显示Nginx欢迎界面, 代表你的Nginx安装成功
二. 生成证书
1. 创建目录用于存放证书文件
因为是用yum安装的, Nginx的默认位置在/etc/nginx
cd /etc/nginx mkdir cert cd cert
2. 创建私钥
openssl genrsa -des3 -out https.key 1024
这里会提示输入一个密码, 长度4-1023
2. 创建签名请求证书
openssl req -new -key https.key -out https.csr
这里会提示你输入私钥的密码, 以及国家名, 省份, 城市单位等等, 根据实际情况填写
完成后你会在当前目录看到两个文件, https.csr和https.key, 第一个应该就是我们要的证书
3. 创建不需要输入密码的RSA证书,否则每次reload、restart都需要输入密码
openssl rsa -in https.key -out https_nopass.key
输入私钥的密码, 就会生成https_nopass.key文件
4. 最后标记证书使用上述私钥和CSR和有效期
openssl x509 -req -days 3650 -in https.csr -signkey https_nopass.key -out https.crt
其中3650代表过期天数
5. 最后生成的https.crt就是我们要的证书
三. 配置Https
1. 编辑nginx配置文件
/etc/nginx/conf.d/default.conf
2. 在文件末尾添加443端口监听
server { listen 443 ssl; server_name us.zhangxiaoqiang.fun; ssl_certificate /etc/nginx/cert/https.crt; ssl_certificate_key /etc/nginx/cert/https_nopass.key; ssl_session_timeout 5m; location / { root /usr/share/nginx/html; } }
4. 这个时候你可以通过https访问Nginx欢迎界面, 不过由于是自己颁发的证书, 浏览器仍然会提示不安全
资料参考:
nginx安装: https://www.cnblogs.com/jidanchaoyadang/p/12918409.html
配置https: https://www.cnblogs.com/muliu/p/9482728.html https://www.cnblogs.com/panwenbin-logs/p/11850737.html
发布于 2021-02-23 23:09, 最后修改于2021-03-05 22:09
© 2019 - ZXQ's Diary - zhangxiaoqiang.top