利用Nginx配置反向代理

news/2024/10/18 2:31:45/

自签发SSL证书

将ssl证书统一存放在nginx配置目录下的ssl目录

[root@Jumper ~]# cd /etc/nginx/
[root@Jumper nginx]# mkdir ssl
[root@Jumper nginx]# cd ssl/

生成CSR请求文件

[root@Jumper ssl]# openssl genrsa -out sk3-9-ucss1.key 2048
[root@Jumper ssl]# openssl req -new -key sk3-9-ucss1.key -out sk3-9-ucss1.csr

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TyxJFSwk-1648530935744)(利用Nginx配置反向代理.assets/image-20220107133615362.png)]

使用CA的key为服务器签发证书

[root@Jumper ssl]# openssl ca -policy policy_anything -days 3650 -cert adca.crt -keyfile adca.key -in sk3-9-ucss1.csr -out sk3-9-ucss1.crt

创建/etc/pki/CA/index.txt

[root@Jumper ssl]# openssl ca -policy policy_anything -days 3650 -cert adca.crt -keyfile adca.key -in sk3-9-ucss1.csr -out sk3-9-ucss1.crt
Using configuration from /etc/pki/tls/openssl.cnf
/etc/pki/CA/index.txt: No such file or directory
unable to open '/etc/pki/CA/index.txt'
140661571356560:error:02001002:system library:fopen:No such file or directory:bss_file.c:402:fopen('/etc/pki/CA/index.txt','r')
140661571356560:error:20074002:BIO routines:FILE_CTRL:system lib:bss_file.c:404:

用来跟踪已颁发的证书

[root@Jumper ssl]# touch /etc/pki/CA/index.txt

创建/etc/pki/CA/serial文件

[root@Jumper ssl]# openssl ca -policy policy_anything -days 3650 -cert adca.crt -keyfile adca.key -in sk3-9-ucss1.csr -out sk3-9-ucss1.crt
Using configuration from /etc/pki/tls/openssl.cnf
/etc/pki/CA/serial: No such file or directory
error while loading serial number
139871168038800:error:02001002:system library:fopen:No such file or directory:bss_file.c:402:fopen('/etc/pki/CA/serial','r')
139871168038800:error:20074002:BIO routines:FILE_CTRL:system lib:bss_file.c:404:

用来跟踪最后一次颁发的证书的序列号

[root@Jumper ssl]# echo "01" > /etc/pki/CA/serial

最后把CA证书的内容粘贴到签发的SSL证书后面。这个比较重要!因为不这样做,可能会有某些浏览器不支持。

关闭SELinux

获取当前的SELinux状态

[root@Jumper ssl]# getenforce 
Enforcing

临时关闭SELinux

[root@Jumper ssl]# setenforce 0

永久关闭SELinux,修改为下面

[root@Jumper ssl]# cat /etc/selinux/config | grep -v '^#' | grep -v '^$'
SELINUX=disabled
SELINUXTYPE=targeted

配置Nginx的https的反向代理

新建配置文件

[root@Jumper conf.d]# pwd
/etc/nginx/conf.d    # 切换到该目录
[root@Jumper conf.d]# cat sk3-9-ucss1.conf  # 在sk3-9-ucss1.conf中配置如下内容
server {listen 443 ssl;server_name sk3-9-ucss1.wlinux.com.cn;   # 映射处理的域名ssl_certificate /etc/nginx/ssl/sk3-9-ucss1.crt;ssl_certificate_key /etc/nginx/ssl/adca.key;underscores_in_headers on;   # 必须设置该项location / {proxy_pass https://192.168.8.1:8447/;   # 指定后端真实服务器的访问链接}
}

重新加载nginx配置:

[root@Jumper ssl]# nginx -t            # 检查nginx的配置
[root@Jumper ssl]# nginx -s reload     # nginx实现热加载

附录

证书签发问题

1.问题:TXT_DB error number 2
解决:原因是已经生成了同名证书,将 common name 设置成不同,或修改 CA 下的 index.txt.attr,将 unique_subject = yes 改为 unique_subject = no

NET::ERR_CERT_COMMOM_NAME_INVALID

生成证书的时候没有加上备用名称字段,目前的浏览器校验证书都需要这个字段。

[root@Jumper ssl]# cat sk3-9-ucss1.cnf 
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = sk3-9-ucss1.wlinux.com.cn
DNS.2 = sk3-9-ucss1
IP.1 = 172.22.80.205
IP.2 = 192.168.8.1

多个域名或IP依次填写即可

重新签发证书:

[root@Jumper ssl]# openssl x509 -req -in sk3-9-ucss1.csr -CA adca.crt -CAkey adca.key -CAcreateserial -out sk3-9-ucss1.crt -days 3650 -sha256 -extfile sk3-9-ucss1.cnf

NET::ERR_CERT_DATE_INVALID

自签证书时间不得大于39个月,建议取3年为好。


http://www.ppmy.cn/news/572999.html

相关文章

打造高可用、高效的Nginx反向代理应用 - 实战篇

前言 🏠个人主页:我是沐风晓月 🧑个人简介:大家好,我是沐风晓月,阿里云社区博客专家😉😉 💕 座右铭: 先努力成长自己,再帮助更多的人 &#xff0c…

【转载】非常详细的nginx反向代理参数配置

nginx反向代理配置详解 转载于:http://blog.51cto.com/meiling/1978482 侵删 反向代理配置 修改部署目录下conf子目录的nginx.conf文件(如/opt/nginx/conf/nginx.conf)内容,可调整相关配置。 反向代理配置示例: 1 2…

高可用nginx反向代理

高可用nginx反向代理 文章目录 高可用nginx反向代理[toc]nginx反向代理简介代理服务器的作用nginx的作用 nginx反向代理的配置访问测试 高可用nginx反向代理访问测试 高可用自动化转换主备节点测试访问 nginx反向代理简介 代理服务器是位于客户端和原始服务器的一台中间服务器…

一个简单的连续变焦红外镜头的从零开始的设计过程(zemax)(二)进一步优化,公差分析

前文的补充说明 有光学设计师的朋友,跟我说把那个程序抄完后运行,什么也得不到。 这是因为缺乏一个文件名字叫做“zoomlensdata.txt" 他的内容就是上一篇的那份代码之后的第七到第十二行的内容。 然后我对这个程序进行了注释: def st…

西门子1500的DB数据块

首先了解DB数据块的含义,然后举个简单例子,加以分析。 1.首先我建立了DB数据块,DB数据块分为绝对寻址与间接寻址 根据DB数据块的属性可以进行切换,如下图 若没有选择优化块的访问就是绝对寻址,若选择了优化块的访问&a…

解决错误1500:当访问注册表项...\TrapConfiguration 时,SNMP 服务遇到错误

事件ID: 1500 事件描述: 当访问注册表项 SYSTEM\CurrentControlSet\Services\SNMP\Parameters\TrapConfiguration 时,SNMP 服务遇到错误。 解决方法: 参考https://support.microsoft.com/en-us/help/2002303/event-1500-logged-wh…

SIEMENS S7-1500 博途V16

文章目录 环境博途V16 安装硬件组态连接设备 环境 硬件: 按键设置IP地址,若提示IP设置写保护,可能是由于plc处于运行状态,将其停止后再进行设置即可。 软件: win10 博途V16 安装 参考:链接 注意一定要…

1500 - 数组挑战-扫雷

扫雷游戏是一款十分经典的单机小游戏。它的精髓在于,通过已翻开格子所提示的周围格地雷数,来判断未翻开格子里是否是地雷。 现在给出 �n 行 �m 列的雷区中的地雷分布,要求计算出每个非地雷格的周围格地雷数。 注&…