Docker Apache Virtualhost

问题描述 投票:0回答:1

我正在尝试将我的应用程序迁移到docker,但是使用Apache我遇到了一些麻烦。我将我的site.conf添加到apache(这很好):

<VirtualHost *:80>
        ServerName example.com.
        ServerAlias api.example.com

        Redirect permanent / https://www.example.com/
</VirtualHost>

<VirtualHost *:80>
        ServerName example.com
        ServerAlias www.example.com

        RewriteEngine on
        RewriteOptions inherit
        RewriteCond %{HTTPS} off
        RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
</VirtualHost>

<VirtualHost *:443>
        ServerName www.example.com
        ServerAlias www.example.com

        SSLEngine on
        SSLCertificateFile /etc/apache2/external/certificate.crt
        SSLCertificateKeyFile /etc/apache2/external/private.key
        SSLCACertificateFile /etc/apache2/external/ca_bundle.crt

        SSLProxyEngine on
        SSLProxyVerify none
        SSLProxyCheckPeerCN off
        SSLProxyCheckPeerName off
        SSLProxyCheckPeerExpire off

        ProxyPass / http://example:8090/
        ProxyPassReverse /  http://example:8090/

        RewriteEngine on
        RewriteOptions inherit

</VirtualHost>

但是当我尝试添加带有子域的新虚拟主机时,容器无法启动:

<VirtualHost *:80>
    ServerName sub1.example.com
    ServerAlias sub1.example.com

    ProxyPreserveHost On
    ProxyPass / http://myapp2:8090/
    ProxyPassReverse /  http://myapp2:8090/

</VirtualHost>

<VirtualHost *:80>
    ServerName sub2.example.com
    ServerAlias sub2.example.com

    ProxyPreserveHost On
    ProxyPass / http://myapp2:8090/
    ProxyPassReverse /  http://myapp2:8090/

</VirtualHost>

我将日志文件从容器复制到我的主机,但errors.logs文件没有显示任何重大错误,因为它无法启动。 docker logs container-name命令也没有多大帮助。

知道可能的错误吗?

docker apache2 ubuntu-18.04
1个回答
0
投票

我终于找到了解决方案。我创建了一个新配置(new_site.conf)并添加了我的虚拟主机配置。然后我启用它(a2ensite new_site.conf),我重新启动了服务,一切都还在运行。我试图通过网址访问,它将我重定向到我的应用程序。

© www.soinside.com 2019 - 2024. All rights reserved.