總是有很多原因,我們希望能夠通過乙個網域名稱或ip在公網上就可以訪問我們自己寫的專案,對於一般情況,我們最正規的做法便是購買伺服器,空間,網域名稱,然後將網域名稱解析,最後通過購買網域名稱訪問**。然而,對於剛剛起步的開發者或是某些特殊情況下,我們希望的可能僅僅是在公網上讓自己或是別人看看一下自己的乙個小網頁而已,我們希望的功能可能只有那麼一點點,那麼這種做法顯得費時,費力又費錢,十分不划算。
首先,我們需要先建立自己的web服務,並監聽乙個埠。在這裡,我用的是webstorm,先在自己的專案下加入乙個server.js 檔案,然後加入以下**:
var fs = require('fs');//引入檔案讀取模組
var documentroot = '/users/eternal/desktop/blogs.test';
//需要訪問的檔案的存放目錄 注意這個地方要寫成自己的專案檔案放的目錄(這個地方的是我自己的)。
你要找的頁面不存在
');res.end();
}else);
res.write(data);//將index.html顯示在客戶端
res.end();
});}).listen(8080); //這是在本地監聽的埠,可以根據自己的需要修改
console.log('伺服器開啟成功');
ok 我們來測試一下,首先一路 cd 進入專案資料夾 然後通過以下命令執行server.js 檔案
如果成功將會在終端看到 伺服器開啟成功的字樣。接著我們開啟瀏覽器,輸入 或是 http://localhost:8080/test.html ,後面的test.htmli是我在該目錄寫的html檔案,輸入時記得換回你自己需要的檔名。可以看到 成功在瀏覽器開啟檔案
這時候我們本地的伺服器就已經成功建好了,接下來,便是對映到公網上面去:
方法一:使用命令列localtunnel工具
localtunnel
是乙個可以讓內網伺服器暴露到公網上的開源專案,它可以通過npm
來全域性安裝:?
$ npm install localtunnel -g
安裝完成後,我們就可以開始對內網進行對映:重新開乙個終端,注意之前的伺服器終端不要關閉。
執行命令 : $ lt –port 8080 這裡代表對 8080 埠進行對映;
上面兩行代表隧道服務失敗,不要急,等它自動出現最後一行就好,這時候,你就可以通過
來訪問自己的test.html網頁了。
方法二: 使用ngrok進行內網穿透
出現這個頁面就代表成功:
這時候就可以用 來訪問本地html檔案
當然,這個網域名稱是隨機的,並且每次開啟時會進行改變,要是想要固定網域名稱,那麼需要自行購買公升級服務。
選擇免費隧道,購買,埠選擇自己需要的埠
然後 在我的隧道中複製authtoken
給予執行許可權?
執行命令?
出現以下頁面即成功
接下來便可以通過
ok,暫時就這麼多方法,當然,我的操作是在mac上通過,在windows下稍有不同,可以看看原作,參考進行內網穿透。
當然,這些只是臨時的穿透,電腦關了或是伺服器關了,那麼網域名稱就沒有用了,並且每次開啟的網域名稱都會有所不同,所以僅供測試之用,如果真要個人建站,購買伺服器才是硬道理。
看看手機端效果:
內網對映到公網訪問
解壓之後 vim frps.ini common bind addr 0.0.0 0 與客戶端 繫結埠 bind port 9000 dashboard 使用者名稱 dashboard user user dashboard 密碼 dashboard pwd pwd dashboard 埠,啟動成功...
Linux將公網ip對映到區域網ip
測試環境如下 monitor msc1 公網ip 103.6.164.128 eth0 內網ip 192.168.0.57 eth0 內網ip 192.168.0.16 eth1 通過訪問monitor的外網位址的20003埠,訪問到msc1的20003埠 1.設定monitor伺服器允許ip ec...
將本地檔案對映到網路位址的方法
在進行開發除錯的時候,經常碰到這樣一種場景,資源檔案比較多,占用的空間比較大,程式需要能夠訪問這些檔案,而由於這些檔案是本地檔案,沒有網路位址,不能在類似於tomcat的容器直接訪問開啟。比如,一般都是將這些資源檔案放到tomcat目錄中,或者直接打包到專案中。如果資源檔案很大,tomcat的本地硬...