Nginx+cpolar实现内网穿透多个Windows Web站点端口

news2025/1/12 22:49:26

文章目录

        • 1. 下载windows版Nginx
        • 2. 配置Nginx
        • 3. 测试局域网访问
        • 4. cpolar内网穿透
        • 5. 测试公网访问
        • 6. 配置固定二级子域名
        • 7. 测试访问公网固定二级子域名
        • 【总结】:

在这里插入图片描述

1. 下载windows版Nginx

进入官方网站(http://nginx.org/en/download.html)下载windows版的nginx

20320109180201

下载好后解压进入nginx目录双击Nginx.exe即可运行

20320109180202

打开浏览器输入http://localhost ,nginx默认使用80端口,所以无需加端口号.出现nginx欢迎页面表示启动成功

20320109180203

2. 配置Nginx

在8086,和9999端口分别配置两个web服务,这里不详细说如何搭建web站点服务,可以参考该教程:https://www.cpolar.com/blog/build-web-server-in-windows-system

20320109180204

20320109180205

站点搭建好后,接下来需要修改nginx.conf配置文件,打开nginx目录,找到conf文件夹下面的nginx.conf

20320109180206

编辑文件,这里使用notepad++进行编辑,添加如下信息:

 location ^~ /webs/ {
            proxy_pass   http://127.0.0.1:8086/;
        }
		
		
		location ^~ /webc/ {
            proxy_pass   http://127.0.0.1:9999/;
        }
  • 参数简介(详情请看官方文档):
^~  : 表示开头对URL路径进行前缀匹配,并且在正则之前
proxy_pass: 代理的服务地址

20320109180207

编辑完保存,打开cmd窗口,进入nginx目录,执行如下命令重启:

nginx.exe  -s reload 

20320109180208

3. 测试局域网访问

重启后Nginx后,打开浏览器,以80端口加上在配置文件中配置的location代理转发规则进行访问两个站点:

20320109180209

20320109180210

4. cpolar内网穿透

接下来,我们通过强大的且稳定的内网穿透工具cpolar,将本地nginx服务暴露至公网环境,以实现穿透多个站点端口需求,无需公网IP,也不用设置路由器。

cpolar官网:https://www.cpolar.com/

打开cpolar官网,下载cpolar并安装。安装完成后,在浏览器上访问本地9200端口【http://localhost:9200/】,登录进入cpolar web ui管理界面。

点击左侧的隧道管理——创建隧道:

  • 隧道名称:可自定义,注意不要与已有的隧道名称重复
  • 协议:http协议
  • 本地地址:80
  • 域名类型:免费选择随机域名
  • 地区:选择china vip

点击创建

20320109180211

隧道创建成功后,点击左侧的状态——在线隧道列表,可以看到已经有生成了相应的公网地址,将其复制下来。

20320109180212

5. 测试公网访问

打开浏览器,使用cpolar所生成的公网地址+在配置文件中配置的location代理转发规则来访问两个站点,测试访问成功。

20320109180213

20320109180214

6. 配置固定二级子域名

由于以上使用的cpolar所生成的公网地址为随机临时地址,24小时内会随机变化,我们可以为其配置固定的二级子域名。

注意,配置固定二级子域名需要将cpolar套餐升级至基础套餐或以上。

进入cpolar官网并登录进入后台界面,点击左侧的预留,找到保留二级子域名:

地区:选择China
二级域名:可自定义
描述:即备注,可自定义

二级子域名保留成功后,将其复制下来

20320109180215

访问http://127.0.0.1:9200/登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑

20320109180216

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名,本例为myweb123

点击更新

20320109180217

提示更新隧道成功,点击左侧仪表盘的状态——在线隧道列表,可以看到公网地址已经更新为保留成功的二级子域名,将其复制下来。

20320109180218

7. 测试访问公网固定二级子域名

使用配置成功的cpolar二级子域名+在配置文件中配置的location代理转发规则来访问两个站点,测试访问成功,现在该公网地址不会随机变化了。

20320109180219

20320109180220

【总结】:

要实现内网穿透多个Windows Web站点端口,可以使用Nginx和cpolar。以下是具体步骤:

  1. 安装并配置Nginx:

    • 下载Nginx二进制文件:访问Nginx官网(https://nginx.org/en/download.html)下载适合你操作系统的Nginx二进制文件。
    • 解压Nginx二进制文件:将下载的文件解压到一个合适的目录,例如C:\nginx
    • 修改Nginx配置文件:在解压后的目录下找到conf\nginx.conf文件,用文本编辑器打开并修改以下内容:
      http {
          server {
              listen 80; # 监听80端口
              server_name example.com; # 将example.com替换为你的域名
      
              location / {
                  root C:\\path\\to\\your\\website; # 将C:\\path\\to\\your\\website替换为你的Web站点根目录
                  index index.html index.htm;
              }
          }
      }
      
    • 启动Nginx:在命令行中切换到Nginx的可执行文件所在目录,然后运行.\nginx.exe(Windows)或./nginx(Linux)。
  2. 安装并配置cpolar:

    • 下载cpolar二进制文件:访问cpolar官网(https://www.cpolar.com/)下载适合你操作系统的cpolar二进制文件。
    • 解压cpolar二进制文件:将下载的文件解压到一个合适的目录,例如C:\cpolar
    • 启动cpolar:在命令行中切换到cpolar的可执行文件所在目录,然后运行.\cpolar.exe(Windows)或./cpolar(Linux)。
    • 创建一个新的隧道:在cpolar的图形界面中,点击左上角的“+”按钮,选择“HTTPS”作为协议,输入你的内网IP地址、端口号和域名,然后点击“确定”。
    • 添加多个Web站点:重复上述步骤,为每个需要穿透的Web站点创建一个新的隧道。

完成以上步骤后,你的内网Web站点应该可以通过Nginx和cpolar实现端口转发,从而在内网环境中访问。

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

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

相关文章

Postman如何导出接口的几种方法?

本文主要介绍了Postman如何导出接口的几种方法,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 前言: 我的文章还是一贯的作风,简确用风格(简单确实有用)&a…

Apifox创建团队 项目 接口 邀请成员步骤演示

我们打开Apifox 找到 个人空间 然后 点击新建团队 然后这里 我们输入名字 点击确定 我们的团队就出来了 然后 我们点击新建项目 然后肯定是 http 项目名称输入一下 然后 语言 我们中国肯定是中文的 然后点击确定 建好之后 我们就会进入自己的项目啦 然后 我们可以新建个接…

VScode中配置python环境

声明:本文出自B站UP主---火星动力猿 下载教程点击下面链接 【文档包】VScode配置Python【发布】.zip - 蓝奏云文件大小:2.4 M|https://wwn.lanzouh.com/iG5tn03iqwwh

单例模式及其使用场景

单例模式(Singleton):指在一个系统中某个类只存在一个实例,类中自行实例化,实例向该系统提供统一的访问接口。 单例模式有两种表现形式,饿汉式:类加载时,就进行实例化;懒…

微信小程序获取用户信息

个人博客 微信小程序获取用户信息 个人微信公众号,求关注,求收藏,求指错。 文章概叙 本文主要讲的是小程序获取用户信息的,更新测试时间是2023-10-25 更改原因 首先,官网上的解释是这样的,为了安全合…

零基础入门物流运输小程序制作教程

随着小程序的发展和普及,越来越多的企业和个人选择制作自己的小程序。在这个指南中,我们将从头开始,一步步指导您制作一个运输贸易类型的小程序。 首先,您需要在乔拓云平台上注册并登录。在乔拓云平台的后台中,您将找到…

吉比特c++游戏服务端面经,真的不简单。

先给大家说说我为什么一直要分享这个面经? 众所周知,我们可以根据面经来复盘自己的八股和反思自己在面试过程中没注意到的点,这样就会慢慢做得更好。 我们中的很多人,在学生时代可能没有一个很好的学习规划,就是那种…

Linux C语言开发-D10控制语句if

abs()绝对值函数,头文件为stdlib.h sqrt()开根号函数,头文件为math.h,并且在编译时-lm链接数学库 %.2f是float后的小数只输出两位 判断一个年份是否是润年 1、能被4整除,但不能被100整除的年份是润年 2、…

商机的智能引擎 | 拓世法宝AI智能直播一体机,助您实现商业突破,打造卓越直播带货时代!

在19世纪50年代,美国加州掀起了一场淘金热潮。在这个时期,一位名叫李维斯特劳斯的德国青年也来到了淘金圣地旧金山。当时,淘金生意狼多肉少,李维转而经营起了日用品的小生意。在与一位淘金工人的聊天中,他了解到淘金工…

【ONE·Linux || 网络基础(一)】

总言 主要内容:简述网络传输流程(TCP/IP五层模式概念认知,Mac地址、端口号、网络字节序等),演示socke套接字编程(UDP模式)。 文章目录 总言1、基础简述1.1、计算机网络背景1.2、认识网络协议&a…

华为机试题:HJ3 明明的随机数

目录 第一章、算法题1.1)题目描述1.2)解题思路与答案1.3)牛客链接 友情提醒: 先看文章目录,大致了解文章知识点结构,点击文章目录可直接跳转到文章指定位置。 第一章、算法题 1.1)题目描述 题目描述&…

比Nginx测试桩更方便,ShenYu网关的Mock插件

有时候为了方便测试,我们需要模拟 HTTP 外部接口的返回结果。通常情况下,我们可以使用 Nginx 测试桩来实现这个目的。然而,Nginx 的使用门槛较高,可能对一些初级开发和测试人员来说有一定的难度。相比之下,Apache Shen…

MySQL---索引+事务

文章目录 索引什么是索引?索引的作用索引的使用索引背后的数据结构(B树) 事务什么是事务?事务的使用事务的ACID特性原子性(Atomicity)一致性(Consistency)隔离性(Isolati…

【CMN】Power management

CMN-700包括几种电源管理能力,要么由外部控制,要么由SoC辅助。CMN-700具有以下电源管理功能: (1)几个不同的预定义电源状态。这些状态包括SLC Tag和Data ram的all/half/none能否被powered up, powered down, or in re…

SpringBoot2.7.14整合redis7

需要的依赖库&#xff1a; <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><dependency><groupId>org.springframework.boot</gro…

kubernetes(4)

目录 flannel网络插件 calico网络插件 部署 网络策略 限制pod流量 限制namespace流量 同时限制namespace和pod 限制集群外部流量 k8s存储 configmap 字面值创建 通过文件创建 通过目录创建 通过yaml文件创建 使用configmap设置环境变量 使用conigmap设置命令行参数 通过数据卷使…

android10.0(Q) MTK 6765 user版本打开root权限

前言 相比较 Android8.1、9.0 而言&#xff0c;Android10.0 版本 的 root变得相当麻烦&#xff0c;10.0 中引入了动态分区机制&#xff0c;同样的要想完全 adb root&#xff0c;需要 fastboot 解锁&#xff0c;然后关闭 verity 才能 adb remount 成功。我尝试和之前一样修改 f…

10.26数字钟设计,数电第二次实验总结

实验七 数字钟设计&#xff08;*****&#xff09; 实现一个六十进制数字时钟&#xff0c;秒到 60 则归零重加&#xff0c;同时让分加1&#xff0c;分加到60归零重加&#xff0c;并让小时加 1&#xff0c;小时加到24归零重加。要求用数码管1,0显示秒值&#xff0c;数码管3,2显示…

解决MyBatisPlus自动生成的主键值过长的问题?

解决MyBatisPlus自动生成的主键值过长的问题&#xff1f; 执行alter table 你的表名 auto_increment 你想要自增开始的值&#xff1b; 如下图&#xff1a; 看一下数据库插入代码&#xff0c;如下图&#xff1a; 最后连续插入两次&#xff0c;看下数据库表插入的实际值&…

OpenCV学习(一)——图像读取

1. 图像入门 读取图像显示图像写入图像 import cv2# 读取图像 img cv2.imread(lena.jpg) print(img.shape)# 显示图像 cv2.imshow(image, img) cv2.waitKey(0) cv2.destroyAllWindows()# 写入图像 cv2.imwrite(image.jpg, img)1.1 读取图像 读取图像cv.imread(filename, fl…