nginx反向代理设置ssl,支持https

一、安装编译工具及库文件

1.1 安装编译工具及库文件准备

这里我们需要上传pcreopensslzlib代码包。

1.2 编译安装pcre

shell 复制代码
cd /opt/
wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz
tar zxvf pcre-8.35.tar.gz
cd pcre-8.35
./configure
make && make install
pcre-config --version

1.3 解压库文件与nginx

shell 复制代码
wget https://www.openssl.org/source/old/1.1.1/openssl-1.1.1g.tar.gz
wget http://www.zlib.net/fossils/zlib-1.2.11.tar.gz
wget https://nginx.org/download/nginx-1.19.0.tar.gz
tar xvf nginx-1.19.0.tar.gz
tar xvf openssl-1.1.1g.tar.gz
tar xvf zlib-1.2.11.tar.gz

二、安装nginx

2.1 编译nginx

进入nginx源码目录:

shell 复制代码
cd nginx-1.19.0

编译

shell 复制代码
./configure --prefix=/opt/nginx --with-http_stub_status_module --with-http_ssl_module  --with-pcre=/opt/pcre-8.35 --with-openssl=/opt/openssl-1.1.1g/  --with-zlib=/opt/zlib-1.2.11/

安装

shell 复制代码
make
shell 复制代码
make install

进入生成nginx目录,具体如下

2.2 生成ssl安全证书

1.在nginx配置目录新建ssl.conf文件夹,并进入

shell 复制代码
mkdir ssl.conf
cd  ssl.conf

2.创建服务器私钥,命令会让你输入一个口令

shell 复制代码
openssl genrsa -des3 -out server.key 1024

3.创建签名请求的证书(CSR)

shell 复制代码
openssl req -new -key server.key -out server.csr

提示:这一步会提示输入国家、省份、mail等信息,可以根据实际情况填写,或者全部不用填写,直接全部敲回车

4.在加载SSL支持的Nginx并使用上述私钥时除去必须的口令

shell 复制代码
cp server.key server.key.org
openssl rsa -in server.key.org -out server.key

5.最后标记证书使用上述私钥和CSR

shell 复制代码
openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt

2.3 配置nginx

进入nginx的conf目录,修改nginx.conf下的HTTPS server如下:

复制代码
    server {
        listen       443 ssl;
        server_name  localhost;
        ssl_certificate      ../ssl.conf/server.crt;
        ssl_certificate_key  ../ssl.conf/server.key;
        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;
        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;
        location / {
            root   html;
            index  index.html index.htm;
        }
    }

三、测试

验证上面的配置文件,进入到sb目录,启动nginx

浏览器打开服务器的地址https://125.72.228.22/

相关推荐
weixin_403810131 小时前
安卓自动化脚本 HID 硬件选购指南:蓝牙HID与OTG HID区别、成本与搭建教程
android·运维·自动化·hid·安卓自动化脚本·安卓中控
FreeTinker1 小时前
联想个人云存储:大厂入局NAS赛道,体验如何?
网络
circuitsosk1 小时前
Python 文件读写与上下文管理器:with 语句为什么是最佳选择
java·服务器·python·文件操作·上下文管理器·contextlib
Shawn Dev1 小时前
没有公网 IP,如何让家里的服务器通过域名访问?——Cloudflare Tunnel 实战指南
服务器·网络协议·tcp/ip
智者向内寻求力量1 小时前
【记录】ubuntu 24.04 安装在levnoval PC上之后,蓝牙设备找不到解决方法
linux·服务器·ubuntu
迪康coolmu1 小时前
企业IT运维闭环——工单管理与远程协助一体化实践
java·大数据·运维·网络·数据库·人工智能·安全
halo雨航1 小时前
阿贝云免费服务器申请
运维·服务器
tedcloud1232 小时前
diagram-design 怎么安装?用 AI 自动生成更专业的架构图、流程图
linux·运维·前端·人工智能·开源·流程图
huainingning2 小时前
Linux和Windows系統SCP命令传输文件
linux·运维·服务器