nginx配置反向代理-CSDN

客户需求

1、实现通过域名访问税金的发票服务(路径格式要求:https://www.xxx.com)

nginx的部署

前提

1、客户在局域网内已实现通过https://ip:port/stms访问税金平台
2、客户已获取https的SSL证书
3、客户申请的外网ip和域名已绑定

部署方法

1、实现域名访问税金服务:在nginx的配置文件中xx.conf定义sever模块,配置虚拟主机,并定义location模块,配置代理proxy_pass转发请求到后端税金服务
2、配置https:获取https证书和密钥文件,并配置nginx的server模块

部署步骤

配置分离

  • nginx默认读取配置文件路径下的nginx.conf,但是我们通常不想把所有配置写到一个配置文件中,那就可以把配置写在其他文件中,然后在nginx.conf中指定其他配置文件

(1)创建配置目录

cd  /usr/local/nginx/
mkdir -p /usr/local/nginx/conf.d(与nginx的conf目录同级创建)
chown nginx.nginx conf.d

image.png
(2)修改nginx的主配置文件

vim nginx.conf
在http模块配置中单独配置:include  /usr/local/nginx/conf.d/*.conf;

图片2.png

检查nginx配置文件的语法:nginx -t
systemctl restart nginx.service
systemctl status nginx.service

图片3.png

  • 后续的conf文件都配置在/use/local/nginx/conf.d/目录下

实现域名访问税金服务

(1)配置conf文件

vim shuijin.conf

server {
listen       80;
server_name  www.jin123.com;

client_body_buffer_size 512k;
client_max_body_size 20m;
proxy_buffers 256 102404k;
proxy_buffer_size 102400k;
#ssl_certificate _ssl.crt;
#ssl_certificate_key _key.private;
underscores_in_headers on;
proxy_connect_timeout   60s;
proxy_send_timeout      60s;
proxy_read_timeout      60s;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504 http_403 http_404 http_429 non_idempotent;
location /stms {
proxy_pass       http://192.168.109.128:8091/stms;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 10;
proxy_read_timeout 600;
proxy_send_timeout 600;
}
}

image.png

nginx -t
systemctl restart nginx.service

图片9.png
重启nginx服务,访问域名http://www.jin123.com/stms/
图片10.png

配置https协议

(1)获取https的证书和密钥文件
(2)编辑conf文件

vim https.conf

server {
listen       443 ssl;
server_name  www.jin123.com;
ssl_certificate /usr/local/nginx/sslkey/server.crt;
ssl_certificate_key /usr/local/nginx/sslkey/server.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:!ECDHE-RSA-AES256-SHA';        ssl_prefer_server_ciphers on;


client_header_buffer_size 64k;
client_body_timeout 120s;
client_header_timeout 150s;

location /stms {
proxy_pass       http://192.168.109.128:8091/stms;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 10;
proxy_read_timeout 600;
proxy_send_timeout 600;
}
}

图片14.png

nginx -t
systemctl restart nginx.service

image.png
重启nginx服务,访问https://www.jin123.com/stms/,实现域名配置https协议访问税金服务
图片16.png

  • 实际部署时,要开放443端口

获取https证书(此处为虚拟环境模拟获取证书,实际中客户已获取https证书和密钥,非必须步骤)

(1)生成密钥对

cd /usr/local/nginx/
创建sslkey目录,将https的证书和密钥存放在此处:mkdir sslkey
生成密钥对:openssl genrsa -des3 -out server.key 2048

图片11.png
(2)生成证书签名的请求文件

openssl req -new -key server.key -out server.csr
a. 此处的域名为前面使用的域名:www.jin123.com
b. 备份、清除原来的密钥对:
openssl rsa -in server.key.old -out server.key
cp server.key server.key.old

图片12.png
(3)生成签名证书

openssl x509 -req -days 1000 -in server.csr -signkey server.key -out server.crt
server.crt——证书文件
server.key——密钥文件

图片13.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/784257.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode——第 405 场周赛

题目 找出加密后的字符串 给你一个字符串 s 和一个整数 k。请你使用以下算法加密字符串: 对于字符串 s 中的每个字符 c,用字符串中 c 后面的第 k 个字符替换 c(以循环方式)。 返回加密后的字符串。 示例 1: 输入&…

Visual Studio Code 教程 VsCode安装Live Server以服务形式打开html

搜索Live Server 插件,然后安装 选一个html文件,右键点击 Open with live server,然后就自动弹出来了

最优化方法 运筹学【】

1.无约束 常用公式 线搜索准则:求步长 精确线搜索(argmin) 最速下降:sd:线性收敛 2.算法 SD dk:付梯度-g newton dk:Gkd-g 二阶收敛,步长为1 阻尼牛顿:步长用先搜…

数据分析与挖掘实战案例-电商产品评论数据情感分析

数据分析与挖掘实战案例-电商产品评论数据情感分析 文章目录 数据分析与挖掘实战案例-电商产品评论数据情感分析1. 背景与挖掘目标2. 分析方法与过程2.1 评论预处理1. 评论去重2. 数据清洗 2.2 评论分词1. 分词、词性标注、去除停用词2. 提取含名词的评论3. 绘制词云查看分词效…

Linux dig命令常见用法

Linux dig命令常见用法 一、dig安装二、dig用法 DIG命令(Domain Information Groper命令)是常用的域名查询工具,通过此命令,你可以实现域名查询和域名问题的定位,对于网络管理员和在域名系统(DNS)领域工作的小伙伴来说,它是一个非…

Linux中的粘滞位及mysql日期函数

只要用户具有目录的写权限, 用户就可以删除目录中的文件, 而不论这个用户是否有这个文件的写 权限. 为了解决这个不科学的问题, Linux引入了粘滞位的概念. 粘滞位 当一个目录被设置为"粘滞位"(用chmod t),则该目录下的文件只能由 一、超级管理员删除 二、该目录…

汇川CodeSysPLC教程 Modbus变量编址

线圈:位变量,只有两种状态0和1。汇川PLC中包含Q区及SM区等变量。 寄存器:16位(字)变量,本PLC中包含M区及SD区等变量 说明: 汇川HMI的专用协议使用不同功能码:在访问SM时&#xff0c…

基于Java+SpringMvc+Vue技术的实验室管理系统设计与实现(6000字以上论文参考)

博主介绍:硕士研究生,专注于信息化技术领域开发与管理,会使用java、标准c/c等开发语言,以及毕业项目实战✌ 从事基于java BS架构、CS架构、c/c 编程工作近16年,拥有近12年的管理工作经验,拥有较丰富的技术架…

使用AI学习英语

使用AI学英语可以通过与智能AI对话、模拟对话场景、提供即时反馈和个性化学习计划等方式提高学习效率和效果。然而,AI技术也存在局限性,如缺乏情感交流和真实语境,需要与真人教师结合使用。 AI学英语的基本原理和应用 AI的基本原理 AI&…

人工智能概论 | 基于A*算法的8数码问题求解

大学四年的全部课程和考试都已经结束啦! 最近闲来无事,随便发发自己的实验报告,供后面的学弟学妹们参考~ 目录 实验1 基于A*算法的8数码问题求解 1.1 程序总体流程 1.2 关键代码展示 1.3 输出结果展示及分析 1.3.1 总步数展示 1.…

Python编程学习笔记(1)--- 变量和简单数据类型

1、变量 在学习编程语言之前,所接触的第一个程序,绝大多数都是: print("Hello world!") 接下来尝试使用一个变量。在代码中的开头添加一行代码,并对第二行代码进行修改,如下: message "…

云计算【第一阶段(27)】DHCP原理与配置以及FTP的介绍

一、DHCP工作原理 1.1、DHCP概念 动态主机配置协议 DHCP(Dynamic Host Configuration Protocol,动态主机配置协议,该协议允许服务器向客户端动态分配 IP 地址和配置信息。 DHCP协议支持C/S(客户端/服务器)结构&…

c++之命名空间详解(namespace)

引例 在学习之前我们首先了来看这样一个情形: 在c语言下,我们写了两个头文件:链表和顺序表的。我们会定义一个type(typedef int type)方便改变数据类型(比如将int改成char),来做到整体代换。 但是我们两个头文件里面…

C# 实现基于exe内嵌HTTPS监听服务、从HTTP升级到HTTPS 后端windows服务

由于客户需要把原有HTTP后端服务升级为支持https的服务,因为原有的HTTP服务是一个基于WINDOWS服务内嵌HTTP监听服务实现的,并不支持https, 也不像其他IIS中部署的WebAPI服务那样直接加载HTTPS证书,所以这里需要修改原服务支持https和服务器环…

JavaScript中,正则表达式所涉及的api,解析、实例和总结

JS中正则的api包括以下: String#searchString#splitString#matchString#replaceRegExp#testRegExp#exec 1. String#search 查找输入串中第一个匹配正则的index,如果没有匹配的则返回-1。g修饰符对结果无影响 var string "abbbcbc"; var r…

iperf3: error - unable to connect to server: No route to host

1.确认iperf3版本是否统一。 2.确认防火墙是否关闭。 关闭防火墙 : systemctl stop firewalld 查看防火墙状态: systemctl status firewalld 3.重新建起链接

(三)前端javascript中的数据结构之集合

集合的特点 1.无序 2.唯一性 3.不可重复 集合相对于前面几种数据结构,比较简单好理解,看看代码实现就能知道他的用法了 集合的创建 function MySet() {this.item {}; } MySet.prototype.has function (value) {return value in this.item; };//增 M…

Java-链表中倒数最后k个结点

题目: 输入一个长度为 n 的链表,设链表中的元素的值为 ai ,返回该链表中倒数第k个节点。 如果该链表长度小于k,请返回一个长度为 0 的链表。 数据范围:0≤𝑛≤1050≤n≤105,0≤𝑎…

c#字符串常用方法

目录 1.字符串的处理常用方法 1.1 Format 1.2 IsNullOrEmpty和IsNullOrWhiteSpace 1.3 Equals 1.4 Contains 1.5 Length 1.6 Substring 1.7 IndexOf和LastIndexOf 1.8 ​​​​​​​StartsWith 和 EndsWith 1.9 ​​​​​​​Remove 1.10 ​​​​​​​Revserse…

Java---包装类与泛型

1.包装类 1.1 包装类 在Java中,由于基本数据类型不是继承Object类,为了在泛型代码中可以支持基本数据类型,Java给每个基本数据类型各自提供了一个包装类。 如下图 除了char和int基本数据类型的包装类型有点特别,其他的都是首字…