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>