by Devin Yang

建立於: 6年前 ( 更新: 6年前 )

前言

這個影片介紹了在D-Laravel上面,我們如何指定Public Ip給特定的Project的使用。
不論是外部Production環境的設定或是內網自己專案Demo時,都可以使用哦 。

在影片中雖然我採用了PPPoE撥接的外網IP進行說明,但是我們改變一下也可以用自己電腦上的區網IP。
這樣就可以讓同事連到我們的D-Laravel的Project了。

關於MacOs上的PPPoE浮動IP

小提醒,如果您跟我一樣使用Hi-Net光世代的六個浮動IP,在MacOS會發生第一個撥接的PPP上網IP居然自己ping不到的情況。
其實,外面還是可以連線此IP的,如果讀者跟我一樣使用PPPoE的方式取得外網的IP,
在自己本機的MacOS卻ping不到自己取得的對外IP時,
我們可在撥接另一個對外的ppp IP給D-Laravel的專案用即可,簡單解決。


當然您可以透過設定靜態路由的方式將前往ppp0 ip位置的封包forward給本機127.0.0.1,修正此問題,
但設定靜態路由需要下指令,就不多做說明了,所以建議可直接再撥號一個測試用的IP給D-Laravel使用較好。
如下圖中的1,2,3分別是ppp0、ppp1(wan1)及ppp2(wan2),在這影片中我使用的為ppp1及ppp2的外部IP。

在這裡網路介面的順序相當重要的,這會影響到我們使用的對外IP是那一個。

為何我不用ngrok

ngrok,可以簡單的將我們的服務導到外部,非常的方便,需要用的人請自行Google
但我自己本身,不太喜歡安裝太多額外的軟體,是否使用,請使用者自行評量了。
基本上我認為這家公司應該是安全的,因為他要賺錢,不太會埋什麼東西或竊取使用者的料。

但請注意,網路上的東西不是絕對安全,有些免費防毒軟體本身就是一隻毒,
如果您還沒聽過,應該要有這樣的了解,任何軟體都一樣,
不要隨意使用你不了解的軟體,你要用他,就代表你信認他。

盡量使用大廠(Google、微軟、Apple等)或是較多人使用的軟體。
就算是大廠有也都會有漏洞了,對網路越了解應該要越小心,
為何Apple的VPN要捨棄PPTP保留用L2TP,
為何Google的WebRTC要強制使用HTTPS,都有他們的道理的。

為何D-Laravel採用bash的方式來執行簡化的docker-compose指令,背後原因很簡單,
就是希望任何人,需要時都可以檢視他如何運作的,執行時不需進行額外的編譯。

當然,由於我個人電腦上有ssh的金鑰及大量主機的config,如果今天安裝了有問題或漏洞的軟體,
金鑰及設定檔被拷走,是我不想要遇見的,雖然我連線的重要主機都需要經由VPN才能SSH進行遠端管理,
而且也需要經由特定的IP才能連到該主機,在SSH金鑰也都設定了複雜的密碼,
但我還是不太會想裝這個軟體@@。

如果您使用是SSH,並且金鑰未設定密碼,
請思考一下,這就如同一張沒密碼的提款卡,撿到的人就可以到處刷了,
如果您的ssh的config包含了伺服器的位置,您對這主機還有root的權限,這有多可怕。
所以一些極重視資安的公司,並不會讓員工隨意安裝軟體。

回歸正題,這影片主要,介紹給對nginx設定不熟悉的朋友,
如何透過D-Laravel上提供的簡單的nginx sample的設定檔,
讓D-Laravel上的Project可以直接對外使用。

要讓內部的服務導到外面,還有其他方式,
例如透過分享器的虛擬伺服器或是我們自己有外部主機,
也可透過SSH port forwarding的方式示,也是OK的,以上是個人的看法。
如果您不知道SSH port forwarding的使用方式,可參考我另一部影片中,會有帶過。
十分鐘速成,Laravel框架搞定LineBot成語字典。
 

D-Laravel外網IP設定,實際的操作影片:

Tags: dlaravel

Devin Yang

文章內容無法一一說明,如果您有什麼不了解處,歡迎提問哦:)

No Comment

Post your comment

需要登入才可留言!

類似的文章


dlaravel

超好用HTML轉PDF套件mpdf介紹

開發時,會需進行HTML轉PDF的輸出嗎?這個影片介紹,如何透過php的mpdf的函式庫,輸出PDF畫面上。

dlaravel

D-Laravel 釋出 v1.1.5

因應Laravel 5.5推出了,剛好php也出了php 7.0.23及php 7.1.9版了。 D-Laravel使用的fpm版本也進行更新囉...只要調整您的docker-compose所定義的版本 即可使用最新的php囉...

docker,dlaravel

D-Laravel 1.5.5變更說明

D-Laravel的fpm image在php 7.2.1以前是使用docker php官方的dockerfile重build的, 並且所以我可以指定了fpm的預設的owner是dlaravel,   --with-fpm-user=USER    Set the user for php-fpm to run as. (default: nobody)   --with-fpm-group=GRP    Set the group for php-fpm to run as.