問題描述
最近用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的設置