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

穿透工具

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

相关推荐
高山我梦口香糖3 分钟前
[react]searchParams转普通对象
开发语言·前端·javascript
m0_748235246 分钟前
前端实现获取后端返回的文件流并下载
前端·状态模式
m0_748240251 小时前
前端如何检测用户登录状态是否过期
前端
black^sugar1 小时前
纯前端实现更新检测
开发语言·前端·javascript
AskHarries2 小时前
Spring Cloud OpenFeign快速入门demo
spring boot·后端
寻找沙漠的人2 小时前
前端知识补充—CSS
前端·css
GISer_Jing2 小时前
2025前端面试热门题目——计算机网络篇
前端·计算机网络·面试
m0_748245522 小时前
吉利前端、AI面试
前端·面试·职场和发展
理想不理想v2 小时前
webpack最基础的配置
前端·webpack·node.js
pubuzhixing2 小时前
开源白板新方案:Plait 同时支持 Angular 和 React 啦!
前端·开源·github