当前位置: 首页 > news >正文

树莓派使用Nginx+cpolar内网穿透实现无公网IP访问内网本地站点

文章目录

    • 1. Nginx安装
    • 2. 安装cpolar
    • 3.配置域名访问Nginx
    • 4. 固定域名访问
    • 5. 配置静态站点

安装 Nginx(发音为“engine-x”)可以将您的树莓派变成一个强大的 Web 服务器,可以用于托管网站或 Web 应用程序。相比其他 Web 服务器,Nginx 的内存占用率非常低,可以在树莓派等资源受限的设备上运行。同时结合cpolar内网穿透工具即可实现无公网IP远程访问。

1. Nginx安装

在树莓派安装Nginx也是很简单,通过apt命令可以直接安装,先更新仓库

sudo apt update

安装更新

sudo apt upgrade

更新完成后安装Nginx 包

sudo apt install nginx

启动Nginx

sudo /ect/init.d/nginx start

启动后,我们可以在外部浏览器输入树莓派局域网ip:80端口即可访问Nginx

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0hSIHm6L-1693204335785)(https://images.cpolar.com//img/image-20230607131709841.png)]

2. 安装cpolar

使用cpolar一件安装脚本:

curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash

向系统添加服务

sudo systemctl enable cpolar

启动cpolar服务

sudo systemctl start cpolar

查看服务状态

sudo systemctl status cpolar

重启cpolar命令(需要的时候使用)

sudo systemctl restart cpolar

然后在外部浏览器使用树莓派局域网ip+:9200端口即可出现cpolar管理界面

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WmMYhd9t-1693204335786)(https://images.cpolar.com//img/image-20230607133940058.png)]

输入官网注册的账号登陆即可对隧道进行操作.

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cTO1xxwT-1693204335787)(https://images.cpolar.com//img/image-20230303184844558.png)]

3.配置域名访问Nginx

我们在cpolar管理界面创建一个随机的80的隧道:

  • 隧道名称:可自定义,注意不要重复
  • 协议:http
  • 本地地址:80
  • 端口类型:随机域名
  • 地区:China

点击创建

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OEkWsufy-1693204335787)(https://images.cpolar.com//img/image-20230607134925374.png)]

然后打开在线隧道列表,查看创建隧道的公网地址,默认有两种访问方式,一种是http 另一种是https,复制http地址

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dhhEEplt-1693204335787)(https://images.cpolar.com//img/image-20230607134956379.png)]

打开浏览器,使用上面的http公网地址访问,即可看到nginx欢迎 界面,这样远程访问就设置好了

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kUdpw7zc-1693204335787)(https://images.cpolar.com//img/image-20230607135233922.png)]

4. 固定域名访问

要注意的是,以上步骤使用的是随机临时地址,该公网地址24小时内会随机变化。我们接下来为其配置固定地址,该地址不会变化,设置后将无需每天重复修改地址。

需升级至基础套餐或以上才支持配置固定域名

登录cpolar官网后台,点击左侧仪表盘的预留,找到保留二级子域名,为http隧道保留一个二级子域名。

  • 地区:选择服务器地区
  • 名称:填写您想要保留的二级子域名(可自定义)
  • 描述:即备注,可自定义填写

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vyCtxsTB-1693204335787)(https://images.cpolar.com//img/image-20230607140809246.png)]

本例保留一个名称为nginxtest的二级子域名。子域名保留成功后,我们将子域名复制下来,接下来需要将其配置绑定到隧道中去。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pmyFofky-1693204335788)(https://images.cpolar.com//img/image-20230607140853198.png)]

登录cpolar web ui管理界面。点击左侧仪表盘的隧道管理——隧道列表,找到需要配置二级子域名的隧道,点击右侧的编辑

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nY3Id7uz-1693204335788)(https://images.cpolar.com//img/image-20230607140924625.png)]

修改隧道信息,将二级子域名配置到隧道中:

  • 域名类型:改为选择二级子域名
  • Sub Domain:填写我们刚刚所保留的二级子域名(本例为nginxtest

修改完成后,点击更新

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PmNbtD0t-1693204335788)(https://images.cpolar.com//img/image-20230607141008024.png)]

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wtkj4Noo-1693204335788)(https://images.cpolar.com//img/image-20230607141038162.png)]

打开浏览器,我们来测试一下访问配置成功的二级子域名,出现nginx欢迎界面表示成功,可以正常访问。现在,我们全网唯一的私有二级子域名,就创建好了。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KZQntzWp-1693204335789)(https://images.cpolar.com//img/image-20230607141122878.png)]

5. 配置静态站点

进入nginx资源目录,这个目录是nginx默认寻找的资源目录

cd /var/www/html

为了让站点的内容更有意义,我们下载部署一个简单的静态演示站点–冥想放松站点。

sudo wget https://www.cpolar.com/static/downloads/meditation-app-master.tar.gz

解压

sudo tar xzf meditation-app-master.tar.gz

然后浏览器打开输入我们上面配置的公网地址加上资源路径:/meditation-app-master,即可看到我们配置的站点啦,同时远程访问也可以.

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xsJLuAUK-1693204335789)(https://images.cpolar.com//img/image-20230607151025731.png)]

sudo tar xzf meditation-app-master.tar.gz

然后浏览器打开输入我们上面配置的公网地址加上资源路径:/meditation-app-master,即可看到我们配置的站点啦,同时远程访问也可以.

[外链图片转存中…(img-xsJLuAUK-1693204335789)]

相关文章:

树莓派使用Nginx+cpolar内网穿透实现无公网IP访问内网本地站点

文章目录 1. Nginx安装2. 安装cpolar3.配置域名访问Nginx4. 固定域名访问5. 配置静态站点 安装 Nginx(发音为“engine-x”)可以将您的树莓派变成一个强大的 Web 服务器,可以用于托管网站或 Web 应用程序。相比其他 Web 服务器,Ngi…...

攻防世界-Web_php_unserialize

原题 解题思路 注释说了flag存在f14g.php中,但是在wakeup函数中,会把传入的文件名变成index.php。看wp知道,如果被反序列话的字符串其中对应的对象的属性个数发生变化时,会导致反序列化失败而同时使得__wakeup 失效(CV…...

云化背景下的接口测试覆盖率自动化检查

一、问题来源 在云化场景下,API的测试覆盖是一项重要评估与考察指标。除了开发者自测试外(UT),还可以利用云化测试平台、流水线等方法进行相关指标的检查与考核。利用这种方法既可以减轻开发者测试工作量,不必在本地做…...

QCC_BES 音频重采样算法实现

+V hezkz17进数字音频系统研究开发交流答疑群(课题组) 这段代码是一个用于将音频数据进行立体声重采样的函数。以下是对代码的解读: 函数接受以下参数: pcm_buf:16位有符号整型的音频缓冲区,存储了输入的音频数据。pcm_len:音频缓冲区的长度。mic1:16位有符号整型的音频…...

如何使用CSS实现一个3D旋转效果?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 3D效果实现⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅!这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域…...

联想电脑装系统无法按F9后无法从系统盘启动的解决方案

开机时按F9发现没有加载系统盘. 打开BIOS设置界面,调整设置如下: BOOT MODE: Legacy Support.允许legacy方式boot. BOOT PRIORITY: Legacy First. Legacy方式作为首选的boot方式. USB BOOT: ENABLED. 允许以usb方式boot. Legacy: 这里设置legacy boot的优先级,…...

AMEYA360:大唐恩智浦电池管理芯片DNB1168-新能源汽车BMS系统的选择

DNB1168是一款全球独有的集成(EIS)交流阻抗谱监测功能的单电池监测芯片。该芯片通过车规级AEC-Q100和汽车行业最高功能安全等级ISO 26262:2018 ASIL-D双重认证。芯片?内部集成多种高精度电池参数监测,支持电压、温度、交流阻抗检…...

【Python进阶学习】【Excel读写】使用openpyxl写入xlsx文件

1、当前文件不存在指定的子文件夹则创建 2、文件存在追加写入 3、文件不存在创建文件并写入表头 # -*- coding: utf-8 -*- import openpyxl as xl import osdef write_excel_file(folder_path):if not os.path.exists(folder_path):os.makedirs(folder_path)result_path os.p…...

Docker(md版)

Docker 一、Docker二、更换apt源三、docker搭建四、停启管理五、配置加速器5.1、方法一5.2、方法二 六、使用docker运行漏洞靶场1、拉取tomcat8镜像2、拉取成功3、开启服务4、查看kali的IP地址5、访问靶场6、关闭漏洞靶场 七、vulapps靶场搭建 一、Docker Docker是一个开源的应…...

如何使用CSS实现一个无限循环滚动的图片轮播效果?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐HTML 结构⭐ CSS 样式⭐ JavaScript 控制⭐ 注意事项:⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦 几何带你启航前端之旅 欢迎来到前端入门之旅&#xff0…...

你使用过WebSocket吗?

什么是WebSocket? WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议,它的出现是为了解决 Web 应用中实时通信的需求。传统的 HTTP 协议是基于请求-响应模式的,即客户端发送请求,服务器响应请求,然后连接关闭。…...

Spark整合hive的时候出错

Spark整合hive的时候 连接Hdfs不从我hive所在的机器上找,而是去连接我的集群里的另外两台机器 但是我的集群没有开 所以下面就一直在retry 猜测: 出现这个错误的原因可能与core-site.xml和hdfs-site.xml有关,因为这里面配置了集群的nameno…...

SocketTools.NET 11.0.2148.1554 Crack

添加新功能以简化使用 URL 建立 TCP 连接的过程。 2023 年 8 月 23 日 - 12:35新版本 特征 添加了“HttpGetTextEx”函数,该函数在返回字符串缓冲区中的文本内容时提供附加选项。添加了对“FileTransfer”.NET 类和 ActiveX 控件中的“GetText”和“PutText”方法的…...

【深度学习-seq2seq模型-附核心encoder和decoder代码】

深度学习 深度学习-seq2seq模型什么是seq2seq模型应用场景架构编码器解码器训练 & 预测损失预测评估BLEUBELU背后的数学意义 模型参考论文 深度学习-seq2seq模型 本文的网络架构模型参考 Sutskever et al., 2014以及Cho et al., 2014 什么是seq2seq模型 Sequence to seq…...

videojs 实现自定义组件(视频画质/清晰度切换) React

前言 最近使用videojs作为视频处理第三方库,用来对接m3u8视频类型。这里总结一下自定义组件遇到的问题及实现,目前看了许多文章也不全,官方文档写的也不是很详细,自己摸索了一段时间陆陆续续完成了,这是实现后的效果.…...

python 模块urllib3 HTTP 客户端库

官网文档地址:https://urllib3.readthedocs.io/en/stable/reference/index.html 一、安装 pip install urlib3二、基本使用 import urllib3 import threadingimg_list ["https://pic.netbian.com/uploads/allimg/220211/004115-1644511275bc26.jpg",&…...

2023 CCPC 华为云计算挑战赛 D-塔

首先先来看第一轮的 假如有n个,每轮那k个 他们的高度的可能性分别为 n 1/C(n,k) n1 C(n-(k-11),1)/C(n,k) n2 C(n-(k-21),2)/C(n,k) ni C(n-(k-i1,i)/C(n,k) 通过概率和高度算出第一轮增加的期望 然后乘上m轮增加的高度加上初始高度,就是总共增加的高度 下面是…...

手搓大模型值just gru

这些类是构建神经网络模型的有用工具,并提供了一些关键功能: EmAdd类使文本输入数据嵌入成为可能,在自然语言处理任务中被广泛使用。通过屏蔽处理填充序列的能力对许多应用程序也很重要。 HeadLoss类是训练神经网络模型进行分类任务的常见损失函数。它计算损失和准确率的能力…...

eslint

什么是eslint ESLint 是一个根据方案识别并报告 ECMAScript/JavaScript 代码问题的工具,其目的是使代码风格更加一致并避免错误。 安装eslint npm init eslint/config执行后会有很多选项,按照自己的需求去选择就好,运行成功后会生成 .esli…...

node_modules.cache是什么东西

一开始没明白这是啥玩意,还以为是npm的属性,网上也没说过具体的来源出处 .cache文件的产生是由webpack4的插件cache-loader生成的,node_modules里下载了cache-loader插件,很多朋友都是vuecli工具生成的项目,内置了这部…...

Vim 调用外部命令学习笔记

Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...

【项目实战】通过多模态+LangGraph实现PPT生成助手

PPT自动生成系统 基于LangGraph的PPT自动生成系统,可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析:自动解析Markdown文档结构PPT模板分析:分析PPT模板的布局和风格智能布局决策:匹配内容与合适的PPT布局自动…...

使用van-uploader 的UI组件,结合vue2如何实现图片上传组件的封装

以下是基于 vant-ui&#xff08;适配 Vue2 版本 &#xff09;实现截图中照片上传预览、删除功能&#xff0c;并封装成可复用组件的完整代码&#xff0c;包含样式和逻辑实现&#xff0c;可直接在 Vue2 项目中使用&#xff1a; 1. 封装的图片上传组件 ImageUploader.vue <te…...

如何将联系人从 iPhone 转移到 Android

从 iPhone 换到 Android 手机时&#xff0c;你可能需要保留重要的数据&#xff0c;例如通讯录。好在&#xff0c;将通讯录从 iPhone 转移到 Android 手机非常简单&#xff0c;你可以从本文中学习 6 种可靠的方法&#xff0c;确保随时保持连接&#xff0c;不错过任何信息。 第 1…...

Robots.txt 文件

什么是robots.txt&#xff1f; robots.txt 是一个位于网站根目录下的文本文件&#xff08;如&#xff1a;https://example.com/robots.txt&#xff09;&#xff0c;它用于指导网络爬虫&#xff08;如搜索引擎的蜘蛛程序&#xff09;如何抓取该网站的内容。这个文件遵循 Robots…...

LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf

FTP 客服管理系统 实现kefu123登录&#xff0c;不允许匿名访问&#xff0c;kefu只能访问/data/kefu目录&#xff0c;不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...

GitFlow 工作模式(详解)

今天再学项目的过程中遇到使用gitflow模式管理代码&#xff0c;因此进行学习并且发布关于gitflow的一些思考 Git与GitFlow模式 我们在写代码的时候通常会进行网上保存&#xff0c;无论是github还是gittee&#xff0c;都是一种基于git去保存代码的形式&#xff0c;这样保存代码…...

MacOS下Homebrew国内镜像加速指南(2025最新国内镜像加速)

macos brew国内镜像加速方法 brew install 加速formula.jws.json下载慢加速 &#x1f37a; 最新版brew安装慢到怀疑人生&#xff1f;别怕&#xff0c;教你轻松起飞&#xff01; 最近Homebrew更新至最新版&#xff0c;每次执行 brew 命令时都会自动从官方地址 https://formulae.…...

Qt的学习(一)

1.什么是Qt Qt特指用来进行桌面应用开发&#xff08;电脑上写的程序&#xff09;涉及到的一套技术Qt无法开发网页前端&#xff0c;也不能开发移动应用。 客户端开发的重要任务&#xff1a;编写和用户交互的界面。一般来说和用户交互的界面&#xff0c;有两种典型风格&…...

node.js的初步学习

那什么是node.js呢&#xff1f; 和JavaScript又是什么关系呢&#xff1f; node.js 提供了 JavaScript的运行环境。当JavaScript作为后端开发语言来说&#xff0c; 需要在node.js的环境上进行当JavaScript作为前端开发语言来说&#xff0c;需要在浏览器的环境上进行 Node.js 可…...