问题描述
最近用MAMP快速搭建了一个网站,在本机上可以用localhost
访问
localhost:8888 //就像这样
但是老师希望可以从外网登录访问这个网站,就需要把自己本机的网站发布到外网上。
解决方案
基本原理
基本原理其实很简单,当别人单纯地访问你的外网地址时,别人什么也得不到,因为你的公网地址下面对应了好多台机器,路由器并不知道你的服务在哪一台机器上。而端口映射就是把对外网地址的某个端口的访问链接到你的内网地址的某个端口。
比如你的外网地址是1.2.3.4
, 你的内网地址是192.168.1.100
, 你的服务在本机的8888
端口,你希望别人可以直接访问1.2.3.4
就可以访问你的服务,你就要在路由器端把1.2.3.4:80
和 192.168.1.100:8888
映射起来。
你需要准备的
- 可以做端口映射的网络,比如自己家里的路由器,一定不要用公共WiFi (这一步非常重要!如果不能做端口映射,至少我这个方法是行不通了….)
- 自己的外网IP地址
- 自己在局域网内的地址
具体步骤
- 自己的外网IP可以通过百度“我的IP”得到,局域网内的地址Mac的话可以通过“System Preference -> Network -> Advanced -> TCP/IP” 来查看。或者直接命令行“ifconfig”(Win上面用ipconfig)
2.打开自己路由器的管理界面(一般是 192.168.1.100),设置端口映射。具体设置方法视乎路由器型号可能略有不同,在此贴上TP-Link的设置