news 2026/9/6 14:30:08

【怎么在手机上访问部署在电脑上的网页,不在一个局域网】

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【怎么在手机上访问部署在电脑上的网页,不在一个局域网】

其实可以使用cloudefare提供的那个,支持使用自己的域名

百度回答

方法一:使用内网穿透工具(推荐)

通过工具如贝锐蒲公英或Ngrok,将本地服务映射到公网,手机直接访问生成的公网地址即可。无需公网IP,支持跨运营商访问。

方法二:远程桌面工具

在电脑端设置远程桌面(如Windows远程桌面),手机端安装对应客户端,通过输入电脑的公网IP和凭证连接。需注意网络稳定性和流量消耗。

方法三:VPN组网

在电脑端搭建VPN服务器(如OpenVPN),手机连接后形成虚拟局域网,即可访问电脑本地服务。适合技术基础较强的用户。

注意‌:公网访问需确保电脑防火墙放行对应端口,并注意网络安全风险。

ngrok config add-authtoken $YOUR_AUTHTOKEN

ngrok http 5000


python 代码

# app.pyfromflaskimportFlask,render_template_string,Responsefromdatetimeimportdatetimeimporttimeimportthreading app=Flask(__name__)# 首页HTML=""" <!doctype html> <html lang="zh-CN"> <head> <meta charset="utf-8"> <title>实时时间 + 计算器</title> <style> body{font-family:Arial,Helvetica,sans-serif;text-align:center;margin-top:40px;background:#f7f7f7;} #clock{font-size:48px;margin-bottom:30px;} .calc{border-collapse:collapse;margin:0 auto 20px;} .calc td{padding:0;} .calc button{width:70px;height:60px;font-size:22px;border:1px solid #bbb;background:#fff;cursor:pointer;} .calc button:active{background:#ddd;} #display{width:100%;height:60px;font-size:28px;text-align:right;padding:0 10px;box-sizing:border-box;} </style> </head> <body> <div id="clock">--:--:--</div> <table class="calc"> <tr> <td colspan="4"><input id="display" disabled></td> </tr> <tr> <td><button onclick="press('7')">7</button></td> <td><button onclick="press('8')">8</button></td> <td><button onclick="press('9')">9</button></td> <td><button onclick="press('/')">÷</button></td> </tr> <tr> <td><button onclick="press('4')">4</button></td> <td><button onclick="press('5')">5</button></td> <td><button onclick="press('6')">6</button></td> <td><button onclick="press('*')">×</button></td> </tr> <tr> <td><button onclick="press('1')">1</button></td> <td><button onclick="press('2')">2</button></td> <td><button onclick="press('3')">3</button></td> <td><button onclick="press('-')">−</button></td> </tr> <tr> <td><button onclick="press('0')">0</button></td> <td><button onclick="press('.')">.</button></td> <td><button onclick="press('=')">=</button></td> <td><button onclick="press('+')">+</button></td> </tr> <tr> <td colspan="2"><button onclick="clr()">C</button></td> <td colspan="2"><button onclick="del()">⌫</button></td> </tr> </table> <script> // 实时时间 SSE const clock = document.getElementById('clock'); const evtSource = new EventSource('/time'); evtSource.onmessage = e => clock.textContent = e.data; // 计算器 let expr = ''; function press(k){ if(k === '='){ try{ expr = String(eval(expr)); } catch(e){ expr = 'Error'; } }else{ expr += k; } document.getElementById('display').value = expr; } function clr(){ expr = ''; document.getElementById('display').value = ''; } function del(){ expr = expr.slice(0,-1); document.getElementById('display').value = expr; } </script> </body> </html> """@app.route('/')defindex():returnrender_template_string(HTML)# Server-Sent Events:每秒推送一次当前时间deftime_gen():whileTrue:yieldf"data:{datetime.now().strftime('%H:%M:%S')}\n\n"time.sleep(1)@app.route('/time')deftime_stream():returnResponse(time_gen(),mimetype="text/event-stream")if__name__=='__main__':# threaded=True 保证 SSE 不阻塞app.run(host='0.0.0.0',port=5000,threaded=True)

还有
Cloudflare Tunnel(原 Argo Tunnel)——
要“下载一个官方软件”cloudflared,然后在本地跑一条加密隧道到 Cloudflare 边缘节点,
不需要公网 IP、不需要 ngrok、不需要开端口
再把自定义域名解析到这条隧道,任何设备都能访问。下面是最新的完整步骤(2024-2025 版)。


一、准备工作

  1. 一个已托管到 Cloudflare 的域名(NS 指向 CF 即可,免费版也行)。
  2. 本地电脑(Windows / macOS / Linux / 树莓派均可)能跑你的 Web 服务。
  3. 有管理员权限安装cloudflared

二、安装 cloudflared

Windows(PowerShell 管理员)

# 1. 下载Invoke-WebRequest-Uri"https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-windows-amd64.exe"-OutFile"C:\Windows\System32\cloudflared.exe"# 2. 验证cloudflared--version

macOS

brewinstallcloudflared

Linux(Debian/Ubuntu)

wget-q https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.debsudodpkg -i cloudflared-linux-amd64.deb

三、一键登录 & 创建隧道

  1. 登录(浏览器会弹出授权)

    cloudflared tunnel login

    成功后会在~/.cloudflared/生成cert.pem

  2. 创建隧道(名字随便取,这里叫my-demo

    cloudflared tunnel create my-demo

    控制台会返回一行Tunnel IDxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
    同时本地会生成xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.json凭证文件,别丢


四、把域名绑到隧道(CNAME 方式)

假设你想用demo.example.com访问本地 5000 端口:

  1. 添加 DNS 记录
    cloudflared tunnel route dns my-demo demo
    这条命令会自动在 Cloudflare 控制台插入一条 CNAME:
    demo.example.com<Tunnel-ID>.cfargotunnel.com
    代理状态默认 ☁️橙色(开启),无需手动再点。

五、写配置文件(一次写好,以后直接cloudflared tunnel run

新建文件~/.cloudflared/config.yml(Windows 路径相同):

tunnel:<Tunnel-ID># 上一步生成的 IDcredentials-file:/home/你的用户名/.cloudflared/<Tunnel-ID>.jsoningress:-hostname:demo.example.comservice:http://localhost:5000-service:http_status:404# 默认兜底

六、启动隧道

cloudflared tunnel run my-demo

看到Connected ...即表示本地 5000 端口已通过加密隧道到达 Cloudflare 边缘节点。


七、手机/外网测试

  1. 电脑保持cloudflared运行。
  2. 手机断开 Wi-Fi(用 4G/5G)打开浏览器输入
    https://demo.example.com
    首次访问会慢 1-2 秒,之后全球任何网络都能打开,地址栏直接有小锁(Cloudflare 边缘证书自动签发)。

八、常用补充

  • 换端口/换域名:改config.yml后重启隧道即可。
  • 后台运行:
    Linux 用 systemd:sudo cloudflared service install
    Windows 用 NSSM 或任务计划程序。
  • 同时暴露多个服务:在ingress里继续加- hostname: xxx即可。
  • 卸载:
    cloudflared tunnel delete my-demo
    再到 Cloudflare 控制台把对应 DNS 记录删掉即可。

cloudflaredcloudflared tunnel createcloudflared tunnel route dns→ 写config.ymlcloudflared tunnel run→ 手机用你自己的域名随时随地访问本地网页,无需公网 IP、无需 ngrok、免费 SSL+CDN

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/6 6:58:16

20、网络安全与用户管理全解析

网络安全与用户管理全解析 一、用户配置文件与登录脚本 在Windows系统中,用户配置文件是一项非常实用的功能。它能记录单个用户对Windows配置的偏好设置。对于非联网计算机而言,用户配置文件使得两个或更多用户可以使用同一台计算机,并且各自拥有独立的桌面设置,像壁纸、…

作者头像 李华
网站建设 2026/9/5 4:52:07

QuickJS多线程编程完全指南:从入门到精通

QuickJS多线程编程完全指南&#xff1a;从入门到精通 【免费下载链接】quickjs Public repository of the QuickJS Javascript Engine. Pull requests are not accepted. Use the mailing list to submit patches. 项目地址: https://gitcode.com/gh_mirrors/qu/quickjs …

作者头像 李华
网站建设 2026/9/6 13:56:22

代码随想录 200.岛屿数量

思路&#xff1a;&#xff08;1&#xff09;题目中每座岛屿只能由水平方向和竖直方向上相邻的陆地连接而成&#xff0c;也就是说斜角度的连接不算。例如示例二&#xff0c;是三个岛屿。&#xff08;2&#xff09;本题的思路是遇到一个没有遍历过的节点陆地&#xff0c;计数器就…

作者头像 李华
网站建设 2026/9/5 5:02:27

FossFLOW容器化部署实战:从零到一的等距图可视化平台搭建指南

FossFLOW容器化部署实战&#xff1a;从零到一的等距图可视化平台搭建指南 【免费下载链接】OpenFLOW 项目地址: https://gitcode.com/gh_mirrors/openflow1/OpenFLOW 你是否曾经为了部署一个可视化工具而头疼不已&#xff1f;配置环境、依赖冲突、数据丢失……这些痛点…

作者头像 李华
网站建设 2026/9/6 3:19:20

Vue-cli如何集成百度开源上传组件实现分片上传?

中石油旗下子公司大文件传输系统技术方案 一、项目背景与需求分析 作为中石油集团旗下专注于能源信息化领域的子公司&#xff0c;我司长期服务于政府及军工单位&#xff0c;在能源管理、安全生产等关键领域积累了丰富的行业经验。本次政府招投标项目提出的大文件传输需求具有…

作者头像 李华
网站建设 2026/9/6 1:12:41

TinyMCE5处理政府公文图片水印保留

企业网站后台Word粘贴与导入功能开发方案 方案概述 大家好&#xff0c;我是重庆某软件公司的ASP.NET前端工程师&#xff0c;最近接到了一个企业网站后台管理系统的增强需求&#xff0c;需要在TinyMCE编辑器中增加Word粘贴功能和多格式文档导入功能。经过一番研究和评估&#…

作者头像 李华