配置https

一.nginx 的 ssl 模块安装

  • 查看 nginx 是否安装 http_ssl_module 模块。
/usr/local/nginx/sbin/nginx -V

  • 如果出现 configure arguments: --with-http_ssl_module, 则已安装(下面的步骤可以跳过,进入 第五部 nginx.conf 配置)。

二.安装 http_ssl_module模块

nginx缺少http_ssl_module模块,编译安装的时候带上–with-http_ssl_module配置就行了,但是现在的情况是我的nginx已经安装过了,怎么添加模块,其实也很简单,往下看: 做个说明:我的nginx的安装目录是/usr/local/nginx这个目录,我的源码包在/usr/local/src/nginx-1.18.0目录

1.切换到源码包:

cd /usr/local/nginx-1.18.0 (解压后的文件夹)

2.配置信息:

./configure --prefix=/usr/local/nginx --with-http_ssl_module

3.配置完成后,运行make进行编译,千万不要进行make install,否则就是覆盖安装。

make

4.然后备份原有已经安装好的nginx(可有可无), 也可以使用 xftp直接拷贝

cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak

5.回到nginx-1.18.0源码包, 用新的 nginx 文件覆盖当前的 nginx 文件。 提示是否确定要替换 输入y

./objs/nginx /usr/local/nginx/sbin/

6.再次查看安装的模块(configure arguments: --with-http_ssl_module说明ssl模块已安装)

三.ssl 证书部署

1.阿里云下载证书

2.下载好的sll证书解压

3.在nginx/conf 目录新建一个 cert文件夹存放证书

五.nginx.conf 配置

1.编辑 /usr/local/nginx/conf/nginx.conf 配置文件:

server {
    listen       443 ssl;
    # 域名,多个以空格分开
    server_name www.c1998.cn; 
     # ssl证书地址
    ssl_certificate  cert/5342661_www.c1998.cn.pem;# pem文件的路径
    ssl_certificate_key cert/5342661_www.c1998.cn.key;# key文件的路径
    # ssl验证相关配置
    ssl_session_timeout 5m;#缓存有效期
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;#加密算法
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;#安全链接可选的加密协议
    ssl_prefer_server_ciphers on;#使用服务器端的首选算法
    
    location / {
        root /usr/local/nginx/html;
        index index.html index.htm;
    }
}
#将 http 重定向 https。
server {
    listen 80;
    server_name www.c1998.cn;
    rewrite ^(.*) https://$server_name$1 permanent;
}

2.开启端口

在linux开启 443端口

firewall-cmd --zone=public --add-port=443/tcp --permanent // 开启443端口
firewall-cmd --reload // 重新载入

在阿里云 开启安全组

3. 终结

第一次弄真的不容易
posted @ 2021-03-19 17:40  飞鸟和蝉-  阅读(71)  评论(0编辑  收藏  举报