Nginx简易配置将内网网站ssh转发到外网

声明:本内容仅供交流学习使用,部署网站上线还需要根据有关规定申请域名以及备案。

背景

在内网的服务器有一个运行的网页,现使用ssh反向代理,将它转发到外网的服务器。

但是外网的访问ip会被ssh反向代理拦截

所以使用Nginx进行配置,作为外网IP与内网服务器的沟通桥梁。

(本来之前已经配过一次了,但是时间久了又忘了自己是怎么做的,于是这次配Nginx的时候就记录一下)

实践

主要参考博客:

全网最详细!Nginx全面配置指南-CSDN博客

ssh反向代理实现内网穿透;ssh+nginx实现公网云服务器代理访问内网服务器_nginx ssh代理-CSDN博客

在外网服务器上安装Nginx

完成安装后开始配置

在外网服务器中的/etc/nginx/conf.d文件夹下,新建一个.conf文件,填写如下信息

这里的server_name需要写外网服务器IP地址或者域名

server {listen 80;server_name xxx.xxx.xxx.xxx;location / {proxy_pass http://127.0.0.1:8001;proxy_redirect  off;proxy_set_header  Host  $host;proxy_set_header  X-Real-IP  $remote_addr;proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;}
}

(这里配置的含义就是,在server_name下,访问位置为localtion时,连接到proxy_pass的位置,X-Forwarded-For开启之后会修改发来的http包头的源IP为外网服务器的IP,这样就可以避免被ssh反向代理过滤了)

完成配置后需要重启nginx服务:sudo service nginx restart。(或者sudo killall nginx杀死之后再启动。)

在内网服务器上,启动网页,假设在8080端口。

然后执行ssh转发命令(ServerAliveInterval=60的目的是确保ssh的持续连接,避免ssh长时间不操作自动关闭)

ssh -fCNR 8001:127.0.0.1:8080 -o ServerAliveInterval=60 root@外网服务器IP地址

(在外网服务器可以使用curl 127.0.0.1:8001检查自己能否收到ssh转发过来的网站内容,但是查询/xxx的时候可能会被307重定向,读取不到网站信息)

(内网服务器上可以使用ps aux | grep ssh查看自己的命令pid,以便后续kill)

接着使用在nginx配置中填写的域名或者IP地址,就可以从外网访问内网的网站了。

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

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

决策树算法

决策树算法对数据进行分类的一种算法,根据数据的属性进行分类,例如对鸢尾花进行分类,可以根据花瓣大小进行分类。决策树可以使用信息熵和基尼指数进行数据分类。 信息熵:信息熵越低,样本不确定性越小,对应…

程序员学长 | 最强总结,机器学习中处理不平衡数据集的五种方法!!

本文来源公众号“程序员学长”,仅用于学术分享,侵权删,干货满满。 原文链接:最强总结,机器学习中处理不平衡数据集的五种方法!! 今天给大家分享处理不平衡数据集的常用方法。 在开始之前&…

08 Oracle数据库故障应对与恢复策略:全面掌握RMAN恢复方法

文章目录 Oracle数据库故障应对与恢复策略:全面掌握RMAN恢复方法一、故障场景及恢复策略1.1 实例失败1.2 介质故障1.3 数据丢失 二、RMAN恢复方法详解2.1 全库恢复2.2 增量恢复2.3 时间点恢复 三、实践与总结 Oracle数据库故障应对与恢复策略:全面掌握RM…

线段树专题(1)

线段树 线段树可维护的信息类型 线段树可以维护的信息类型,父范围上的某个信息,可以用O(1)的时间,从子范围的信息加工得到,例如求某个范围的最大最小值,给某个范围每个位置加相同的数字,进行求和。 0到2范…

Linux应用开发基础知识——tslib应用编程(十一)

文章目录 一、tslib是啥?二、tslib 框架分析三、交叉编译、测试 tslib3.1、交叉编译tslib(1)设置交叉编译工具链(2)进入tslib目录(3)安装工具链(4)确定工具链中头文件、库…

MySQL必会知识精华6(组合WHERE子句)

我们的目标是:按照这一套资料学习下来,大家可以完成数据库增删改查的实际操作。同时轻松应对面试或者笔试题中MySQL相关题目。 上篇文章我们先做一下数据库的where条件过滤的方法,都是单个条件的过滤。本篇文章主要介绍查询的组合WHERE子句的…

系统架构师2023版:习题

架构设计基础 计算机基础 目前处理器市场中存在 CPU 和 DSP 两种类型的处理器,分别用于不同的场景,这两种处理器具有不同的体系结构,DSP采用()。 A.冯诺依曼结构 B.哈佛结构 C.FPGA 结构 D.与 GPU 相同的结构 解析:…

企微SCRM价格解析及其性价比分析

内容概要 在如今的数字化时代,企业对于客户关系管理的需求日益增长,而企微SCRM(Social Customer Relationship Management)作为一款新兴的客户管理工具,正好满足了这一需求。本文旨在为大家深入解析企微SCRM的价格体系…

RocketMQ学习笔记

RocketMQ笔记 文章目录 一、引言⼆、RocketMQ介绍RocketMQ的由来 三、RocketMQ的基本概念1 技术架构2 部署架构 四、快速开始1.下载RocketMQ2.安装RocketMQ3.启动NameServer4.启动Broker5.使⽤发送和接收消息验证MQ6.关闭服务器 五、搭建RocketMQ集群1.RocketMQ集群模式2.搭建主…

基于AI大模型开发应用层产品经典解决方案:ASR+LLM+TTS

在 AI 大模型开发领域,ASR(自动语音识别)LLM(大语言模型)TTS(语音合成)的解决方案是一种将语音输入、语言理解和语音输出整合在一起的技术架构,能够实现智能的语音交互应用。 方案介…

tree-transfer-vue3插件(树形数据穿梭框)

tree-transfer-vue3 效果图 简介 tree-transfer-vue3 是一个基于 VUE 和 element-plus 的树形穿梭框组件,使用前请确认已经引入element-plus! 此组件功能类似于element-plus的transfer组件,但是里面的数据是树形结构! 实际上&am…

临床检验方法与仪器 第一部分作业:光谱分析仪器与技术的总结与归纳+新型光谱仪的调研

临床检验方法与仪器 第一部分作业 列表归纳紫外-可见分光光度计、荧光光谱分析仪、原子吸收光谱仪、原子发射光谱仪的原理、特点、技术优势和主要应用对象;调研新型光谱仪,每一类至少提供1个例子,列出图片、厂家、型号、主要技术特点和优势。…

Linux系统编程-多线程线程属性

如何查看有那些多线程系统调用属性api 线程属性系统api举例 /* int pthead_attr_init(pthread_attr_t *attr); -对属性变量初始化int pthread_attr_destroy(pthread_attr_t *attr); -使用完毕需要销毁int pthread_attr_getdetachstate(const pthread_attr_t *attr, int*detach…

LVGL加入外围字库

一、首先lvgl是有自带字库的 lvgl/src/font 如下图 二、但如果这个字库不能满足我们的需求我们就要外建字库。 1、字库生成软件LVGL官网,字体转换器 — LVGL如下图: 最后按“提交”就可以看到有一个字体被下载到你电脑里。他是以.c文件的型式,把它COPY到lvgl的根目录下 2、…

【Steam登录】protobuf协议逆向

https://api.steampowered.com/IAuthenticationService/GetPasswordRSAPublicKey/v1 搜索 input_protobuf_encoded定位 input_protobuf_encoded的值就是 o s r.SerializeBody() o i.iI(s) 精准定位 打上条件断点:t ‘Authentication.GetPasswordRSAPublicKey…

ML 系列:第 21 节 — 离散概率分布(二项分布)

一、说明 二项分布描述了在固定数量的独立伯努利试验中一定数量的成功的概率,其中每个试验只有两种可能的结果(通常标记为成功和失败)。 二、探讨伯努利模型 例如,假设您正在抛一枚公平的硬币 (其中正面成功&#xff…

【模拟集成电路】知识点笔记_1

知识点笔记_1 零极点相关1 PM和GM相关概念2零极点 温度系数五种常见噪声源MOS管和BJT选取BJT刨面图工艺角衬底主要噪声来源共模反馈三种常用CMFB1 工作在线性区MOS作为CMFB(匹配决定输出电压)2 电阻反馈(Buf)3 电流差分对&#xf…

资产管理:SpringBoot框架的高效解决方案

6系统测试 6.1概念和意义 测试的定义:程序测试是为了发现错误而执行程序的过程。测试(Testing)的任务与目的可以描述为: 目的:发现程序的错误; 任务:通过在计算机上执行程序,暴露程序中潜在的错误。 另一个…

Redis - 集群(Cluster)

一、基本概念 上述的哨兵模式,提⾼了系统的可⽤性.但是真正⽤来存储数据的还是master和slave节点.所有的数 据都需要存储在单个master和slave节点中. 如果数据量很⼤,接近超出了master/slave所在机器的物理内存,就可能出现严重问题了. 如何获取更⼤的空间?加机器即可!所谓&q…

基于springboot的高校科研管理系统(源码+调试+LW)

项目描述 临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据你想解决的问题,今天给…