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

需要登入才可留言!

类似文章


php,docker,dlaravel

我创建的phpenv容器环境简单介绍

没时间拍介绍影片,我就来随便抓些画面介绍我使用的容器环境deviny/phpenv。https://github.com/DevinY/phpenvphpenv算是我之前D-Laravel开源项目的进化版本,概念上延用了很多Dlaravel的操作方式。容器的更新上偏向使用者自行控制去Build自己的image,所以我不太会去更动版号了,其实D-Laravel的php版号,好像我也很久没动啦:p 

dlaravel

D-Laravel特定服务重启

一般情况下,我们使用./console restart重建并且运行contaiener。 有时,我们有多个服务,并不想要一次重启所有的服务, 这时,可以使用./console restart [servce name]来重启特定服务..

dlaravel

如何透过getssl自动检测及更新let's encrypt发出的证书

let's encrypt提供免费的证书真的很棒,不过,三个月要更新一次证书是不是有点麻烦, 本文介绍,如何透过getssl,生成多域名的SAN证书设置,放入调度自动进行证书更新。 非常简单哦,六个步骤即可搞定。