如何通过让我们在Docker容器内而不是在主机或VM中进行加密来设置nginx并代理非docker服务?

时间:2018-10-05 14:22:58

标签: docker nginx

我目前有一个运行nginx,UFW的虚拟机,让我们通过Encrypt强制将所有通过https的流量发送到我网络中的多个网站。我开始“ dockerize”我的某些服务(并非全部),并想尝试让Nginx在容器中运行。

有很多步骤可以使我的nginx VM工作。我必须安装UFW,nginx,Let's Encrypt(使用certbot)。我必须配置UFW,为nginx添加服务器块,创建符号链接,运行nginx命令,运行Let's Encrypt命令,等等。

看起来很多人都使用proxy companion,但是我不确定这是否仅将nginx设置为与在Docker容器中运行的服务一起使用。除了指向Docker容器之外,是否可以使用随播广告将子域的代理流量反向到内部http://172.16.68.99:6666

ETA:我刚刚意识到,对于那些不在容器中的服务,是否可以创建一个Apache容器以重定向到我的非容器服务,否则会破坏代理?

1 个答案:

答案 0 :(得分:1)

是的,有可能。默认情况下,默认的桥接网络设置无法连接到主机网络上的服务。您需要研究备用的网络设置,以便您的nginx docker容器可以代理其他服务。建议阅读以下内容:https://docs.docker.com/network/#network-drivers

似乎您也可以仅使用--network host选项就可以共享所有服务已在同一主机上运行的同一主机网络:From inside of a Docker container, how do I connect to the localhost of the machine?