使用Android手机实现Web服务器 - 内网穿透

暗香疏影 创作者

使用Android手机实现Web服务器,其中包含如何安装Apache HTTP Server以及如何使用Ngrok(Sunny)的服务反向代理。

方法一的尝试:1. 安装Apache HTTP Server

安装Apache HTTP Server前,需要先安装Termux
先从Google Play下载。

1.1 安装Apache前准备

打开Termux后,
输入

1
apt update

确保手机更新好源。

然后输入

1
apt install apache2

之后再询问中回答y即可安装。

1.2 安装完成后

安装好之后
Termux的命令行会变成$, 如下

1
2
Setting up apache2 (2.4.41-3) ...
$

这个时候你只在$后需要输入apachectl

1
$ apachectl

即可运行apache

需要注意的是,他会弹出

1
2
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using l127.0.0.1. 
Set the 'ServerName' directive globally to suppress this message

这个问题暂时不用理他

1.3 浏览手机浏览器或通过电脑浏览

手机通过127.0.0.1:8080访问
电脑通过路由器中手机的IP地址访问
例如192.168.2.200:8080
只要出现It Works即可证明网页服务器工作。

1.4 网页服务器位置

输入

1
2
$ cd ..
$ ls

之后会出现蓝色字体

1
home usr

然后输入

1
2
$ cd usr/share/apache2
$ ls

可以从这里看出蓝色字体的文件夹是
default-site
而这个文件夹下面,也还有一个文件夹是叫htdocs
进入到htdocs文件夹之后,即可发现index.html

实际完整地址

1
/data/data/com.termux/files/usr/share/apache2/default-site/htdocs/

另外需要注意的是当Termux被关闭后,apachectl也会被关闭。

把Apache默认网页位置修改到SD卡

暂无解决方案

代替方案KSWEB和谐版

KSWEB和谐版下载地址

ngrok sunny内网穿透

注册sunny的ngrok并生成clientid.
然后下载sunny的ngrok的python版本
通过

1
pkg install python

安装
具体安装步骤可以查看
http://www.ngrok.cc/_book/start/ngrok_android.html

但是我后来发现需要root才可以运行python
于是在termux里面运行apt install tsu
通过tsu命令得到root
最后我发现,由于这个免费服务器是海外的,IP被封了。
用不了。(测试,打开VPN后可以用,但是这等于没用。)

方法二 花生壳实现内网穿透

因为ngrok内网穿透方案看过之后,类似的内网穿透方案例如frp,lanproxy等原理都相似。
都需要一台VPS运转,且若包含了免费VPS给你用的话,也是在海外,一样有带宽限制。

如果有VPS的话, 这个配置我还不如直接vps装面板,还能支持多个网站。

所以,回归到花生壳也是必须只能这样。花生壳的免费服务器是上海的,不会担心IP封。

花生壳改变了很多,无法进行域名解析了,只能先用电脑端打开花生壳超过1个小时,耐心等待花生壳的DNS自动修改IP为新的IP。
设置好各个端口之后,去DNS服务商设置CNAME为你的花生壳二级域名即可。

需要注意的是,如果你采用了企业邮箱,你的CNAME就无法直接用@的形式,必须是www
不过,你也可以增加A解析到你CNAME的IP地址。

  • 标题: 使用Android手机实现Web服务器 - 内网穿透
  • 作者: 暗香疏影
  • 创建于 : 2020-02-25 00:00:00
  • 更新于 : 2020-02-25 00:00:00
  • 链接: https://blog.23ikr.com/2020/02/25/2020-02-25-Android-Web-Server-ngrok/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论