记一次家里工作站做网站穿透遇见的问题

穿透工具

之前用过几个内网穿透工具,类似于花生壳,飞鸽,Ngrok等等,要么免费的速度不够,要么就是性价比不是很高,又或者配置很麻烦。

后面又找到了另一个工具cpolar,虽然它是收费的,但也不是很贵,配置什么的都很方便,付费版本提供了域名、子域名、随机域名等多种域名形式。

我是使用了cloudflare做了DNS解析,因此直接使用我自己的域名,在cpolar配置页面的预留中直接添加自己的域名或者子域名,将cpolar提供的CNAME添加到DNS解析中,然后再按照教程,将自己的服务,挂载到指定的域名下即可,如下图(第一张图是官网的预留配置页面,第二张是本地启动cpolar后的配置页面):

这样,你就可以将本地的服务,与你的域名绑定在一起了,如果没有域名的话,可以采用随机域名,但是需要注意的是,随机域名并不是永久的,只有效24小时,24小时之后,你需要重新生成,就可以外网直接进行访问了。

将mysql数据库穿透出来

我们的mysql的端口是3306,在本地查询的时候,都没有问题,但是远程访问的时候,查询被拒绝了,这时候,我们需要查看一下,数据库的配置文件,是否是仅支持本地访问,这个可以网上找一下教程,挺多的,这里就不说了。

我们说一下在穿透数据库的时候,遇见的问题吧。我们大多数情况下,数据库都部署在云上,这时候我们都会有一个固定的ip,因此很少使用域名去调取数据库,这里需要注意的是,我们将3306端口穿透出来时候,本地的地址是tcp://127.0.0.1:3306,是的,你没看错,他是一个tcp的链接,而不是http的连接,因此,我们在cpolar上面配置数据库穿透的时候,就需要在cpolar的预留域名地方,选择tcp连接,然后固定一个tcp的域名,再通过隧道进行绑定tcp端口,就可以通过固定的tcp域名访问了。

将ssh穿透出来

我家里电脑安装的是kylin的系统,是直接当作工作站使用了,远程访问的时候ssh的时候,我们需要先安装一个openssh-server工具,设置开机自启,并打开ssh服务,systemctl start ssh与systemctl enable ssh,需要注意的是,ssh的连接,也是tcp连接,与mysql的步骤是一样的,这里可以参照上面mysql的步骤进行。

在另一台电脑上远程连接的时候,可以直接通过命令行ssh -p 端口 root@固定的tcp地址,输入密码进行连接了。

将svn穿透出来

因为ssh通过tcp的方式进行连接的,因此我找的几个远程连接工具,都不支持这样的连接,因此我文件上传的时候,就没有办法了,我这里采用的是svn的方式,至于为什么不用ftp,仅仅因为svn简单一些,网上教程很多,这里就不说怎么安装了。svn的路径,也是tcp连接,与mysql的步骤是一样的,这里可以参照上面mysql的步骤进行。

文件上传思路:

  • 服务器创建svn库
  • 在本地拉取svn仓库
  • 将需要上传服务器的文件,提交到svn上面
  • 服务器检出仓库
  • 将检出仓库的文件,复制到需要的目录下面

端口直接绑定穿透

如果说后端java构建后得到的jar包启动的后端接口在9000,启动后可以直接把端口在cpolar中绑定端口到二级域名(因为我的域名用的一个,接口的端口就分配给了二级域名)上,这样就可以通过二级域名直接调取接口了。

可以理解为,只要本地能调通的http或https的连接,都可以直接挂载

nginx代理站点穿透出来

nginx在现在开发过程中用的是比较多的了,这里应该是没有什么难点的,我们只需要在项目中将接口请求的路径,替换成上面的接口路径,就可以正常访问接口了,而前端的dist文件里直接放在html下即可。

相关推荐
UrbanJazzerati24 分钟前
AutoHotkey v2 零基础快速入门 Part 3 像素亮度检测完全指南
后端
浮链序25 分钟前
Shopify 把 10 亿商品开放给任意 agent 了:我用零依赖 Python 撸了个带预算闸门的代购网关
后端·代码规范
lovingsoft26 分钟前
Chrome Lighthouse 详解
前端·chrome
Qlly37 分钟前
全栈工程师怎么接需求?从一句「加个功能」聊到能开发、能验收
前端·后端
马可家的菠萝40 分钟前
你的微信“文件传输助手”,是不是已经成了第二个网盘?
前端·后端·架构
略略略啦41 分钟前
Vibe Coding 基于Spec DD和TDD的实践指南
前端
花涧鹤1 小时前
学完循环我才发现,我写的不是死循环,是死机
后端
shmily麻瓜小菜鸡1 小时前
前端实现图片与PDF文字识别敏感信息打码方案
前端·pdf·状态模式
打工仔折腾 AI1 小时前
LangChain 工具调用实战:从 Tool 定义到 Agent 执行链路拆解
java·前端·人工智能·后端·python·langchain·ai agent 实战