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