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

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

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

这里我们需要上传pcre、openssl、zlib代码包。

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/

相关推荐
DYWorker0011 分钟前
第1课:基于正点原子RK3568开发板读懂Linux内核
linux·运维·网络
GlobalInfo19 分钟前
全球及中国机器人现场部署服务行业研究报告(2026版):市场现状、行业前景与占有率分析
大数据·运维·人工智能
Android系统攻城狮21 分钟前
Linux FFmpeg深度解析之avformat_open_input调用流程与实战(一)
linux·运维·ffmpeg·车载音视频·ffmpeg音视频·音视频进阶手册
分布式存储与RustFS36 分钟前
把 LSM 引擎直接架在对象存储上:slatedb 能不能跑在 RustFS 上?
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
深圳恒讯41 分钟前
国外云服务器部署企业官网,怎样确定配置、IP 与后续扩容方案?
运维·服务器·tcp/ip
java_logo1 小时前
Docker 部署 Excalidraw:轻松搭建手绘风格白板
运维·docker·容器·excalidraw·白板·轩辕镜像
吹什么轩1 小时前
linux系统复习:Ext 文件系统(一个文件在磁盘上到底长什么样)
linux·运维·服务器
吹什么轩1 小时前
linux系统复习:全景串联
linux·运维·服务器
Elastic 中国社区官方博客1 小时前
5 分钟内将 56 页扫描文档转化为带引用的答案:面向搜索无法读取的文档的检索增强生成流水线
大数据·运维·人工智能·elasticsearch·搜索引擎·信息可视化·全文检索
John_Hui1 小时前
第 1 篇:VMware 安装 Ubuntu 24.04.3 Server
linux·运维·ubuntu