AWS EC2에서 Tomcat 8 웹 서비스용 VirtualHost 설정

AWS EC2에서 Tomcat 8 웹 서비스용 VirtualHost 설정

AWS EC2 Linux의 기본 Apache 외에도 Tomcat 8을 설치하고 여기에 웹 서비스를 배포했습니다.

작동하는 현재 URL은 다음과 같습니다.http://example.com:8080/MyService/api/generatePath

다음 URL을 사용할 수 있도록 하위 도메인 api.mydomain.com을 사용하여 이를 더 짧게 만들고 싶습니다.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

먼저 아파치에서 모드 프록시를 활성화하셨나요? 두 번째로 제거해 보세요. ProxyPreserveHost On

또한 포트가 열려 있는지 확인하십시오. 확인하는 가장 쉬운 방법은http://www.yougetsignal.com/tools/open-ports/(웹사이트 주소와 포트 80을 입력하세요)

도움이 되었기를 바랍니다

답변2

/MyService/(1) URL의 일부를 제거하려면 MyService.war파일 이름을 으로 바꾸고 ROOT.war를 사용하여 webapps 폴더에 복사합니다 sudo cp. 일반적으로 Tomcat 설치는 동일한 폴더에 ROOT 디렉터리를 자동으로 생성할 것으로 예상됩니다.

httpd.conf(2) :8080을 제거하려면 URL 표시줄에 표시되지 않은 대신 에 명시한 설치를 사용하여 :80을 통해 사이트에 액세스합니다 . 다음 두 가지를 다음과 같이 편집하세요.

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>

관련 정보