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

穿透工具

之前用过几个内网穿透工具,类似于花生壳,飞鸽,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 sshsystemctl 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下即可。

相关推荐
m0_7482309438 分钟前
Redis 通用命令
前端·redis·bootstrap
Hello.Reader43 分钟前
深入理解 Rust 的 `Rc<T>`:实现多所有权的智能指针
开发语言·后端·rust
yoona10201 小时前
Rust编程语言入门教程(八)所有权 Stack vs Heap
开发语言·后端·rust·区块链·学习方法
YaHuiLiang1 小时前
一切的根本都是前端“娱乐圈化”
前端·javascript·代码规范
考虑考虑2 小时前
MyCat2使用
java·后端·java ee
后端码匠2 小时前
Spring Boot3+Vue2极速整合:10分钟搭建DeepSeek AI对话系统
人工智能·spring boot·后端
ObjectX前端实验室2 小时前
个人网站开发记录-引流公众号 & 谷歌分析 & 谷歌广告 & GTM
前端·程序员·开源
CL_IN2 小时前
企业数据集成:实现高效调拨出库自动化
java·前端·自动化
可乐张2 小时前
AutoGen 技术博客系列 (九):从 v0.2 到 v0.4 的迁移指南
后端·llm
可乐张2 小时前
AutoGen 技术博客系列 (八):深入剖析 Swarm—— 智能体协作的新范式
后端·llm