【发布时间】:2019-01-26 12:18:27
【问题描述】:
我对 Docker 还很陌生,我很难理解如何使我的“包含”应用程序可以从 Internet 访问。
[我当前的配置] 两个网站(在 /var/www/html 中)+ 标准 Apache + 一些 tweeking 我想应用于我部署的所有新内容(基于 CSP 的头文件重写,使用 Certbot 等进行 SSL 证书更新)。我对我目前的信心相当满意。
[我的两个应用程序] 两者都是独立应用程序(只需要一个数据库)。
-official wordpress 图片。 (-> 新域名)
-基于 django 的应用程序,包含基于 this tutorial 的 gunicorn 服务器(-> 现有域的子域)
[问题]如果我将两个应用程序都绑定在端口 8080 和 8000 上,浏览器将无法访问它,因为 DNS 服务器不处理端口(据我了解,正确如果我错了我)。如果我在标准端口上绑定,我将与我现有的 Apache 发生冲突。
你会如何处理它?我可以使用某种mod_proxy 重定向到容器的内部 IP 吗?有没有更清洁、更安全、更安全的方法?
<VirtualHost *:443>
ServerName sub.mydomain.io
Redirect "/" "http://172.17.0.2/"
ErrorLog /var/log/apache2/error.zarebski.io.com.log
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/mydomain.io/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/mydomain.io/privkey.pem
</VirtualHost>
【问题讨论】:
-
你不能只代理传递到端口 8080 和 8000 吗?