Назад | Перейти на главную страницу

Ошибка с поддоменом proxypass

У меня установлен Ubuntu Server 14.04 с Apache 2.4.7 и Wildfly 8. Apache бежит впереди, а Wildfly - сзади. Apache проксирует все приложения, запущенные на Wildfly.

Теперь я пытаюсь прокси передать одно из моих приложений от Wildfly с доменом mysubdomain.example.com, но у меня есть нежелательные побочные эффекты. Добавляется в основной домен example.com/mysubdomain также, чего я не хочу. Сначала я добавил эту конфигурацию в /etc/apache2/sites-available/000-default.conf:

<VirtualHost *:80>
    ServerName mysubdomain.example.com
    ServerAlias www.mysubdomain.example.com
    ProxyPass / http://localhost:8080/myapp/
    ProxyPassReverse / http://localhost:8080/myapp/
</VirtualHost>

Затем я добавил то же самое для SSH в /etc/apache2/sites-available/ssl.conf:

<VirtualHost *:443>
    SSLEngine on
    SSLCertificateFile /etc/ssl/certs/mysubdomain.mydomain.crt
    SSLCertificateKeyFile /etc/ssl/private/mysubdomain.mydomain.key

    ServerName mysubdomain.example.com
    ServerAlias www.mysubdomain.example.com

    ProxyPass / http://localhost:8080/myapp/
    ProxyPassReverse / http://localhost:8080/myapp/
</VirtualHost>

Эта конфигурация делает не работает как это. Я был вынужден добавить другую конфигурацию, чтобы это работало. Мне пришлось добавить в /etc/apache2/apache2.conf:

<Location "/myapp/">
    ProxyPass "http://localhost:8080/myapp/"
    ProxyPassReverse "http://localhost:8080/myapp/"
</Location>
<Location "/myapp">
    ProxyPass "http://localhost:8080/myapp"
    ProxyPassReverse "http://localhost:8080/myapp"
</Location>

Это работает (хорошо):

http://mysubdomain.example.com
https://mysubdomain.example.com

Это идет с этим (плохо):

http://example.com/mysubdomain

Что я должен сделать, чтобы повлиять только на subdomain ничего не добавляя в основной домен?