我想从另一台主机访问ddev Web容器。我该如何实现?
例如:ddev在主机A上运行,我想从主机B访问网页。
答案 0 :(得分:2)
https://medium.com/botfuel/how-to-expose-a-local-development-server-to-the-internet-c31532d741cc上有很好的技术摘要,我看到许多其他的-建议:
因此,您所谈论的内容至少有两种变体:
对于这两种方法,我们都需要确定要代理的端口。
如果您只能使用http,则可以代理localhost端口(该端口直接进入Web容器,而不管URL中的主机名是什么)。因此,如果ddev describe
显示http://d7git.ddev.local:8080, https://d7git.ddev.local:8443, http://127.0.0.1:32827
,请使用127.0.0.1端口(在这种情况下为32827)。如果可以做到这一点,则无需在要访问此主机的主机上伪造主机名。
因此对于选项1(仅暴露在计算机上的另一个端口上),请使用any of these technqiues。我将在macOS(简装socat)上使用socat方法。
socat tcp-listen:8889,reuseaddr,fork tcp:localhost:32827
其中32827是ddev列出的描述为localhost访问的端口,而8889是您要公开给他人的端口。然后找出您的本地IP地址(使用ifconfig或其他技术),其他人可以使用该地址访问ddev项目。例如,我今天的设置为http://10.150.150.87:32827/
对于选项2,通过ssh隧道将您的项目代理给其他人在互联网上使用:
ssh -R:9101:localhost:32827 user@host.example.com
这会将您的本地端口32827(检查您自己的ddev描述)通过隧道传送到远程host.example.com上的端口9101。请注意,您可能需要
GatewayPorts yes
。答案 1 :(得分:0)
更新:使用ddev 1.9.0及更高版本提供了一个ddev share
命令,使此操作非常容易。