Докер Apache Virtualhost - PullRequest
       18

Докер Apache Virtualhost

0 голосов
/ 04 апреля 2019

Я пытаюсь перенести свои приложения в докер, но с 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 тоже не сильно помогает.

Есть идеи о возможной ошибке?

1 Ответ

0 голосов
/ 04 апреля 2019

Я наконец нашел решение. Я создал новую конфигурацию (new_site.conf) и добавил свою конфигурацию виртуального хоста. Затем я включил его (a2ensite new_site.conf), перезапустил службу, и все по-прежнему работало. Я попытался получить доступ через URL, и он хорошо перенаправил меня к моему приложению.

...