本文介绍: 打开Nginx安装目录 > conf文件夹 > nginx.conf文件,在nginx.conf文件中找到以下属性。在nginx安装目录创建cert文件夹,并将下载证书文件,和密钥文件拷贝到。我自己用的百度云的免费SSL证书,下载证书,这里格式选择PEM_Nginx这里我创建到了nginx/conf下面了,这是试了好几次报错后的结果。证书安装完成后,可通过登录证书绑定域名方式验证证书是否安装成功。如果网页地址栏出现绿色小锁标志,表示证书安装成功。进入nginx安装目录执行如下命令

1、前提条件

2、nginx安装http_ssl_module模块

2.1 查看是否安装过http_ssl_module

进入nginx安装目录执行如下命令

./nginx -V

image-20230203201709162

若出现“–withhttp_ssl_module说明已经安装过,否则继续执行下列步骤

2.2 进入nginx文件目录

cd /usr/local/nginx/nginx-1.18.0/

image-20230203201525419

2.3 重新编译nginx

./configure --with-http_ssl_module

image-20230203201853943

执行如下命令

make

image-20230203202039509

这里一定不要执行make install,否则会覆盖掉原来的nginx

2.4 用新的nginx覆盖旧的

会多一个objs文件

image-20230203202122559

image-20230203202141850

执行覆盖命令(先停止nginx,./nginx -s stop)

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

3、https配置(SSL证书安装)

3.1 下载证书文件密钥文件

我自己用的百度云的免费SSL证书,下载证书,这里格式选择PEM_Nginx

image-20230203202511637

解压完之后有两个文件如下所示

image-20230203202552868

3.2 服务器上创建cert文件夹

在nginx的安装目录创建cert文件夹,并将下载的证书文件,和密钥文件拷贝cert目录中。

这里我创建到了nginx/conf下面了,这是试了好几次报错后的结果

image-20230203202827480

3.3 配置nginx.conf

打开Nginx安装目录 > conf文件夹 > nginx.conf文件,在nginx.conf文件中找到以下属性

image-20230203202918800

注释放开,并修改内容如下

 # 以下属性中以ssl开头属性代表与证书配置有关,其他属性请根据自己的需要进行配置
    server {
        listen 443 ssl;
        server_name codeleader.top;  # localhost修改为您证书绑定的域名。
        # ssl on;   #设置on启用SSL功能
        root html;
        index index.html index.htm;
        ssl_certificate cert/codeleader.top.crt;   #将domain.pem替换成您证书的文件名
        ssl_certificate_key cert/codeleader.top.key;   #将domain.key替换成您证书的密钥文件名。
        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 / {
            proxy_pass http://halo;
            proxy_set_header HOST $host;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }

这里我并没有隐藏我的域名,希望懂行的大佬不要恶意攻击,我也只是用服务器部署项目测试,并不是生产服务器攻击对您也没啥收益。

3.4 设置http请求自动跳转https

需要跳转http站点添加以下rewrite语句实现http访问自动跳转https页面

#设置http请求自动跳转https
rewrite ^(.*)$ https://$host$1 permanent;

image-20230203203321180

3.5 重启测试

./nginx -s reload

证书安装完成后,可通过登录证书绑定域名的方式验证证书是否安装成功。

https://domain:port   #domain替换成证书绑定的域名,默认443端口可以忽略输入

如果网页地址栏出现绿色小锁标志,表示证书安装成功。

image-20230203203406938

原文地址:https://blog.csdn.net/qq_43753724/article/details/128875743

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_32198.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注