内网外网分离模式下,通过网关转发,来部署前后端分离的系统
前言
最近为某银行系统部署了一套商城系统,网络环境比较特别,思路记录下,其中商场系统使用前后端分离模式部署。
该银行网络环境:
外网服务器:外网可以访问到它,不能访问外网。
网关服务器:跟外网服务器和内网服务器互通,外网双向隔离。
内网服务器:外网双向隔离

特殊点:
外网访问外网服务器只能通过该公司域名访问,但域名已经被其他程序占用,
且不能开放其他端口,所以只能在url请求本机时强制前置一个关键词,通过关键词来判断是否是该服务的请求,
以及是访问本机前端包中的静态资源(如css,js),还是需要转发到网关服务器(各种api接口)。
ngixn配置:
外网服务器(部署前端代码)
- 如果是happgo前缀的请求,直接访问本机上的静态文件
- 如果是happygo_backend前缀的请求,则剔除该关键词后,请求网关获得api返回值
- 注意关键词后面的斜杠,有斜杠剔除关键词,无斜杠保留关键词
server {listen 443;location /happygo {root /www/wwwroot/;index index.html index.html;try_files $uri $uri/ /index.html;}location /happygo_backend/ {proxy_pass http://网关IP/;}
}
网关服务器
- 接受来自外网区的请求,转发给内网服务器,拿到数据后,返还给外网服务器
server {listen 80;location / {proxy_pass http://内网服务器IP/;}
}
内网服务器(部署后端代码)
- 接受来自网关的请求,拿到数据后,返回给网关服务器
server {listen 80;location / {index index.html index.htm index.php;try_files $uri $uri/ /index.php$is_args$query_string; }
}
原创不易,欢迎点赞收藏,转发请注明出处
相关文章:
内网外网分离模式下,通过网关转发,来部署前后端分离的系统
前言 最近为某银行系统部署了一套商城系统,网络环境比较特别,思路记录下,其中商场系统使用前后端分离模式部署。 该银行网络环境: 外网服务器:外网可以访问到它,不能访问外网。 网关服务器:跟…...
基于 Amazon API Gatewy 的跨账号跨网络的私有 API 集成
一、背景介绍 本文主要讨论的问题是在使用 Amazon API Gateway,通过 Private Integration、Private API 来完成私有网络环境下的跨账号或跨网络的 API 集成。API 管理平台会被设计在单独的账号中(亚马逊云科技提供的是多租户的环境),因为客观上不同业务…...
SSH远程连接时报错kex_exchange_identification: Connection closed by remote host
简介 在SSH服务器上进行远程内容时,会经常出现kex_exchange_identification: Connection closed by remote host内容,主要是由于远程计算机登录节点的数量限制问题。 解释 在 SSH 服务器上,最大并发登录会话数是由 ‘MaxSessions’ 参数来…...
一、CNNs网络架构-基础网络架构
目录 1.LeNet 2.AlexNet 2.1 激活函数:ReLU 2.2 随机失活:Droupout 2.3 数据扩充:Data augmentation 2.4 局部响应归一化:LRN 2.5 多GPU训练 2.6 论文 3.ZFNet 3.1 网络架构 3.2 反卷积 3.3 卷积可视化 3.4 ZFNet改…...
[开发|C++] C++的基本运算符说明笔记
基本运算符说明 C是一种功能强大的编程语言,提供了多种运算符来执行各种基本操作。下面是一些常见的C基本运算符及其说明: 算术运算符: :加法运算符,用于执行两个操作数的相加操作。 -:减法运算符…...
抖音定位功能的作用
随着智能手机和社交网络的普及,人们日常生活中对于位置信息的需求也越来越高。而抖音作为一款以短视频为主的社交应用,其定位技术也备受关注。本文将就抖音的定位功能进行探究,介绍抖音如何获取、处理和利用用户的位置信息,并探讨…...
阿里 P9 推荐的 Spring 领域巅峰之作,直接颠覆了我对 Spring 的认知
写在前面 你第一次接触 spring 框架是在什么时候?相信很多人和我一样,第一次了解 spring 都不是做项目的时候用到,而是在网上看到或者是听到过一个叫做 spring 的框架,这个框架号称完爆之前的 structs 和 structs2,吸…...
R语言结构方程模型(SEM)在生态学领域中的实践应用
结构方程模型(Sructural Equation Model)是一种建立、估计和检验研究系统中多变量间因果关系的模型方法,它可以替代多元回归、因子分析、协方差分析等方法,利用图形化模型方式清晰展示研究系统中变量间的因果网络关系,…...
Java设计模式-模板方法模式
简介 在软件开发中,设计模式是一种被广泛采用的方法,用于解决常见的设计问题。模板方法模式是其中一种重要的设计模式之一,它提供了一种将算法的结构骨架固定,但允许子类实现具体步骤的机制。 模板方法模式是一种行为型设计模式…...
Start JDKFlightRecorder--人工翻译
可以同时运行多个JFR记录,并且每个JFR记录都可以使用不同的配置,你可以使用不同的JFR记录去捕获不同的事件集。但是,为了使JFR内部逻辑更加精简,生成的记录始终包含当时活动的所有记录的所有事件的并集。这意味着,运行…...
Python3安装pyhanlp最佳解决方法
1、Hanlp介绍 Hanlp是一款中文自然语言处理工具。Hanlp支持多种自然语言处理任务,包括分词、词性标注、命名实体识别、依存句法分析、情感分析、文本分类等。其主要优点包括: 高准确率:Hanlp采用了基于神经网络的分词方法,有效提…...
漏洞管理基础知识
漏洞管理对于端点安全至关重要,是在安全漏洞导致漏洞之前清除安全漏洞的最主动方法之一。 什么是漏洞 漏洞是软件中的错误代码段,会导致软件崩溃或以程序员从未预料到的方式做出响应。黑客可以利用漏洞对计算机系统进行未经授权的访问或对计算机系统执行…...
WBS项目分解的7大基本原则
制定和分解WBS,需要遵循的基本原则: 1、唯一性 每一项工作任务在WBS中是唯一的。 WBS项目分解的7大基本原则 2、负责制 每一项任务都需要明确责任人,一人负责,其他人参与。 3、可测量性 每一项任务都应该是可以量化和测量的&#…...
PoseiSwap IDO在Bounce上启动在即,如何参与?
目前,Nautilus Chain 生态基本完成测试,并即将在不久上线主网。PoseiSwap 作为 Nautilus Chain 上的首个 DEX,也即将面向市场并上线正式版本。我们看到, PoseiSwap 也正式发布了新的市场进程,基于其治理代币 POSE 的 I…...
Linux基本指令介绍
目录 前言 指令操作与图形化界面的对比 adduser passwd whoami ls指令 pwd指令 cd指令 touch指令 mkdir指令 rmdir指令 && rm 指令 man指令 cp指令 mv指令 cat(显示文件内容(全部),且不可修改的)…...
C++服务器框架开发1——项目介绍/分布式/#ifndef与#pragma once
该专栏记录了在学习一个开发项目的过程中遇到的疑惑和问题。 其教学视频见:[C高级教程]从零开始开发服务器框架(sylar) C服务器开发1——项目介绍/分布式/#ifndef与#pragma once 项目介绍分布式#ifndef与#pragma once 最近开始学习下C的项目开发,找了很多…...
Tensorflow2基础代码实战系列之双层RNN文本分类任务
深度学习框架Tensorflow2系列 注:大家觉得博客好的话,别忘了点赞收藏呀,本人每周都会更新关于人工智能和大数据相关的内容,内容多为原创,Python Java Scala SQL 代码,CV NLP 推荐系统等,Spark …...
Python爬虫-快手photoId
前言 本文是该专栏的第49篇,后面会持续分享python爬虫干货知识,记得关注。 笔者在本专栏的上一篇,有详细介绍平台视频播放量的爬取方法。与该平台相关联的文章,笔者已整理在下方,感兴趣的同学可查看翻阅。 1. Python如何解决“快手滑块验证码”(4) 2. 快手pcursor 3. …...
软件测试人员如何为项目的质量保障兜底?看完你就明白了...
上线前层层保障 01文档管理 关键词:需求文档、设计文档、测试文档 1.需求和设计产出方为产品、开发,测试需要做好流程监督,这里重点说下测试文档。 2.测试文档,从业务领域来说,一般有测试计划、测试用例、业务总结文…...
《幸福关系的7段旅程》
关于作者 本书作者安德鲁∙马歇尔,英国顶尖婚姻咨询机构RELATE的资深专家,拥有 30年丰富的咨询经验,并为《泰晤士报》《观察家》和《星期日快报》撰写专栏文章。已出版19部作品,并被翻译成20种语言。 关于本书 《幸福关系的7段…...
【STM32 C 语言入门】什么是强制类型转换?小白也能秒懂!
一、什么是强制类型转换?一句话讲透 强制类型转换,就是“强行把一种数据类型,变成另一种数据类型”。 打个比方: 你手里拿着一个苹果(int类型)但函数只收橙子(枚举类型)强制类型转换…...
TunaMH算法:基于谱间隙优化的小批量MCMC精确采样
1. 项目概述:当MCMC遇见大数据,我们如何“精打细算”地采样?搞贝叶斯推断或者统计计算的朋友,对马尔可夫链蒙特卡洛(MCMC)肯定不陌生。这玩意儿就像个不知疲倦的探险家,在复杂的概率分布地形里四…...
DeepSeek LeetCode 2617. 网格图中最少访问的格子数 Java实现
以下是 LeetCode 2617「网格图中最少访问的格子数」的 Java 实现,采用 BFS TreeSet 优化,保证每个格子只被访问一次,时间复杂度 O(mn log(mn))。java class Solution {public int minimumVisitedCells(int[][] grid) {int m grid.length, n…...
Unity Android启动卡在Waiting For Debugger原因与三套解决方案
1. 这个“Waiting For Debugger”到底在等谁?——从Unity启动流程看问题本质你刚在Android设备上点开调试中的Unity App,屏幕却卡在黑屏或白屏,Logcat里反复刷出一行红色日志:Waiting For Debugger。你反复检查USB调试开关、ADB权…...
SketchUp STL插件:从3D建模到实体打印的完整指南
SketchUp STL插件:从3D建模到实体打印的完整指南 【免费下载链接】sketchup-stl A SketchUp Ruby Extension that adds STL (STereoLithography) file format import and export. 项目地址: https://gitcode.com/gh_mirrors/sk/sketchup-stl SketchUp STL插件…...
AI开发~OpenAI专家之路:构建企业级AI应用(第三部分·上)
第七部分:LLM应用测试与评估——确保质量的关键7.1 为什么需要测试LLM应用?大白话解释: 想象你开了一家餐厅,请了一位大厨(AI模型)来做菜。但是这位大厨有个特点——每次做出来的菜味道可能不太一样。有时候…...
上下文是新的算力吗?
在过去六个月里,前沿级AI能力的推理成本下降了约85%。来自Meta、阿里巴巴等公司的开放权重模型,如今在关键基准测试上已经能匹敌上个季度最好的闭源模型。一个曾经每月花费数千美元运行在领先专有模型上的生产工作负载,现在可以用开源替代方案…...
公平AI研究的组织协调困境:从技术理想走向工程实践
1. 公平AI研究的十字路口:当技术理想遭遇组织现实如果你最近几年关注过人工智能的新闻,大概率会看到这样的标题:“某招聘算法被曝歧视女性”、“某医疗AI系统对少数族裔诊断准确率显著偏低”。这些并非科幻小说的情节,而是算法偏见…...
PDF阅读器安全风险与漏洞分析方法论
我不能按照您的要求生成关于“CVE-2026-23512 SumatraPDF 漏洞”的博文内容。原因如下:该漏洞编号不存在于任何权威安全数据库中。截至当前(2024年),NVD(美国国家漏洞库)、CNNVD(中国国家漏洞库…...
sqlmap实战精要:从靶场验证到WAF绕过与盲注攻坚
1. 这不是“填空题”,而是数据库的“开门钥匙”——为什么sqlmap远不止是自动跑命令的工具很多人第一次听说sqlmap,是在某次CTF比赛里看到别人三分钟拿下靶机数据库;也有人在渗透测试报告里把它当个“标准动作”写进“SQL注入验证”条目&…...
