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

使用D-Laravel build自己專用的php fpm image。

D-Laravel已提供了Build好的php image,如果需要自己調整及Build自己專用的Image相當簡單。 一、首先在D-Laravel的錄中,進入dockerfiles/fpm,選擇您要Build的PHP版本,例如7.2。 指令如下...

dlaravel

如何在host直接執行容器內,不同Project的php artisan.

本篇為D-Laravel的運用教學,如何在主機端直接執行container內的php artisan. 自訂別名後,就能直接在host端的project資料夾內,直接執行contianer內的php artisan了。 alias a="../../artisan.sh"