内网穿透之HTTP穿透
文章图片
当我们按照钉钉官方教程启动钉钉内网穿透后,命令行窗口显示为如上图片来提醒我们启动成功。
如图有两个链接,一个为http链接,一个为https链接。
通常情况下我们只能访问http链接,具体原因就不在此说明了。
【利用钉钉内网穿透上传php项目时遇到的问题】之后如果想通过此链接访问到我们的php项目就需要在本地开启一个http-server服务。
具体操作为:
- 下载node.js
官网地址: https://nodejs.org
下载完成后在命令行输入命令$ node -v以及$ npm -v检查版本,确认是否安装成功。 - 下载http-server
在终端输入:
$ npm install http-server -g - 开启 http-server服务
终端进入目标文件夹,然后在终端输入:
http-server -c-1
在使用内网穿透时我们会发现thinkPhp5框架中是将项目部署在80端口上的,比如我们通常以
http://127.0.0.1/MicroCourse2021-main/thinkphp5.0guide-step1/public
来启动一个PHP项目,如果我们在127.0.0.1后加上:80来使用80端口的话也可以正常启动项目。但是内网穿透是默认将我们的URL映射到8080端口,所以我更改了thinkPhp5的启动端口,以下是需要更改的文件的位置:
"D:\xampp\apache\conf\httpd.conf"找到以下字段,将80改为8080。
#Listen 12.34.56.78:80
Listen 80
之后我们再重启一下Apache服务,如果发生报错,很有可能是8080端口被其他进程所占用,我么可以在xampp中进入如图的选项中查看端口占用情况
文章图片
之后在任务管理器中结束相应进程即可,之后我们再进行访问相应的URL就可以从其他设备(不在同一局域网)的情况下访问我们的PHP项目。
刚经过以上操作后还在想像阿里这么大的公司,为什么给出的服务这么不便捷,连修改映射端口的功能都没有,之后回过头来再看一看发现原文中写的很明白:
执行以下命令,启动钉钉内网穿透。
ding ngrok --subdomain dingabcde --port 8080
--subdomain表示域名前缀,--port代表映射的端口
我们只需要在启动的时候修改个参数就行,只因为我看文档的时候太着急,连这么明显的提示都没看到,所以这也告诉我们以后在看官方文档时一定要认真,不能因为内容少就只是扫两眼完事。