IP 주소와 호스트 이름이 Tomcat 서버에서 example.com으로만 노출되도록 하려면 어떻게 해야 합니까?

IP 주소와 호스트 이름이 Tomcat 서버에서 example.com으로만 노출되도록 하려면 어떻게 해야 합니까?

Tomcat7 위에 CentOS 6을 실행하는 웹 서버가 있습니다. 모든 것이 잘 작동하지만 사용자는 다양한 방법으로 서버에 액세스할 수 있습니다.

예를 들어:

  • IP 주소
  • example.com
  • www.example.com

이 주소는 브라우저를 통해 액세스할 수 있습니다. 하지만 www.example.comIP 주소 또는 에 액세스할 때 "example.com"을 가리키도록 서버를 구성하고 싶습니다 .


IP 주소 예, xxx.xx.xx.xx ► example.com
www.example.com ► example.com

이것을 달성하는 가장 쉬운 방법은 무엇입니까? 서버에 DNS를 구성해야 합니까?

답변1

이를 방지하기 위해 할 수 있는 일은 실제로 없습니다. 가장 좋은 방법은 다양한 URL이나 IP 주소에 액세스할 때 그에 따라 액세스된 URL을 리디렉션하거나 다시 작성하여 domain.com으로 만들 수 있도록 Tomcat에 일련의 다시 쓰기 규칙을 배치하는 것입니다.

프런트엔드 웹 서버

종종 사람들은 이를 돕기 위해 Tomcat 또는 Jetty 서버를 배포하고 그 앞에 웹 서버를 배치합니다. 제가 일하는 곳에서는 Nginx를 사용하여 이 작업을 수행합니다. 기본적으로 Tomcat 서버를 그 뒤에 있는 슬레이브 서버로 프록시하고 있습니다. 이러한 방식으로 배포하면 Tomcat 서버를 "보호"하여 원하는 방식으로만 액세스할 수 있습니다. 왜냐하면 최종 사용자는 앞에 있는 웹 서버에 노출된 URL에만 액세스할 수 있기 때문입니다.

이 배포 모델에 대한 자세한 내용은 여기에서 확인할 수 있습니다.

Nginx는 단지 웹 브라우저일 뿐이며 Apache나 다른 것을 쉽게 사용하여 프런트엔드 레이어를 제공할 수 있습니다.

Tomcat만 사용하여 다시 작성됨

또 다른 방법은 이와 같은 모듈을 사용하는 것입니다.URL 재작성 필터, Tomcat 내에서 URL 재작성을 수행할 수 있습니다. 이 접근 방식은 다음을 사용하는 것과 유사합니다.아파치 mod_rewrite들어오는 URL을 삭제하고 리디렉션하는 모듈입니다.

UrlRewriteFilter에 대한 규칙을 생성하는 방법에 대한 훌륭한 튜토리얼이 있습니다.타키 URLRewrite 작업 방법.

관련 정보