Установите VirtualHost для веб-сервиса Tomcat 8 на AWS EC2

В дополнение к Apache по умолчанию на AWS EC2 Linux я установил Tomcat 8 и развернул веб-сервис на нем.

Текущим URL (который работает) является http://example.com:8080/MyService/api/generatePath

Я хочу сделать это короче с субдоменом api.mydomain.com, так, чтобы я мог использовать этот URL: http://api.example.com/generatePath.

Это - то, что я сделал на /etc/httpd/conf/httpd.conf, но это не работает:

<VirtualHost *:80>
    ServerName api.example.com
    ProxyRequests Off
    ProxyPreserveHost On
    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>
    ProxyPass / http://localhost:8080/MyService/api
    ProxyPassReverse / http://localhost:8080/MyService/api
</VirtualHost>
1
задан 21 June 2015 в 17:29
2 ответа

Сначала вы включили мод прокси на apache? Во-вторых, попробуйте удалить ProxyPreserveHost On

Кроме того, убедитесь, что порт открыт; проще всего проверить по адресу http://www.yougetsignal.com/tools/open-ports/ (Введите адрес сайта и порт 80)

Надеюсь, это поможет

.
2
ответ дан 3 December 2019 в 17:39

(1) Чтобы удалить часть / MyService / вашего URL, переименуйте файл MyService.war в ROOT.war и скопируйте его в папку webapps, используя sudo cp . Обычно ожидается, что ваша установка tomcat автоматически сгенерирует ROOT-каталог в той же папке.

(2) Чтобы удалить: 8080, зайдите на сайт через: 80, который не указан в строке URL, используя установленный httpd.conf вы заявили. Измените следующие две вещи, чтобы они выглядели так:

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so

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

    ProxyRequests On
    ProxyPass / http://localhost:8080/
    ProxyPassReverse / http://localhost:8080/

    <Location "/">
            Order allow,deny
            Allow from all
    </Location>
</VirtualHost>
2
ответ дан 3 December 2019 в 17:39

Теги

Похожие вопросы