일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 자바8
- Stream
- 자동배포
- jqGrid
- Javascript
- ci/cd
- sqlserver
- QueryDSL
- poi
- apache.poi
- 보안
- JQuery
- java
- DevOps
- stream api
- ORM
- 스트림
- rabbitmq
- 자동빌드
- spring
- 그리드
- 제이쿼리그리드
- Jenkins
- 대용량 업로드
- mom
- MessageQueue
- 엑셀 업로드
- docker
- mssql
- JPA
- Today
- Total
개발 메모장
[Tomcat] Tomcat 사용 시 서버정보 노출 막기 본문
#. 서버 정보에 대한 설정이 제대로 되지 않아 응답 값에 서버 정보가 노출될 수 있습니다.
#. 간단한 처리만으로 서버 종류 및 버전에 대한 정보를 숨길 수 있습니다.
#. Tomcat 8.5 미만 버전 사용 시 필수로 필요하며 그 이상일 경우 설정하지 않을 시 서버 정보가 노출되진 않으나 적용은 가능합니다.
- Step 0. 현재 서버 응답 값 확인하기
- 웹브라우저 > F12(개발자 모드) > 네트워크 탭에서 페이지 요청 시도(접속) 시 응답헤더에서 확인이 가능합니다.

- Step 1. 톰캣 > Server.xml 열기
- IDE에 연결된 tomcat의 server.xml 열기 또는 톰캣 폴더 경로에서 직접 열어줍니다.

- 톰캣 폴더의 경로는 apache-tomcat-버전 > conf > server.xml

- Step 2. Server.xml 수정
- <Connector> 태그를 찾아보면 여러 가지가 있을 것입니다.(주석 해제 되어 있는 태그 확인)
- HTTP, HTTPS, AJP 프로토콜에 대한 구분이라 생각하면 쉬우며 로컬에서는 SSL을 사용하지 않을 것이기에 HTTP로 되어 있을 것입니다.
- 만약 HTTP와 HTTPS를 둘 다 사용하는 경우엔 <Connector> 태그가 두 개 가 주석 해제되어 있을 것입니다.
server="내용"
<Connector URIEncoding="utf-8" connectionTimeout="20000" port="8080" protocol="HTTP/1.1" server=" "/>
- 위 프로퍼티만 입력해 주면 되며, 공백으로 보여주고자 할 경우 ""는 기본값이므로 " "와 같이 띄어쓰기해줘야 합니다.
- Step 3. 결과 확인
- 콘솔을 통해 아래와 같이 입력 시 응답값을 받을 수 있으며 로컬이 아닌 경우 웹주소를 적으면 됩니다.
curl -i http://localhost:포트번호/접근경로
- 적용 전

- 적용 후

===========================================================
틀린 내용이 있거나 이견 있으시면 언제든 가감 없이 말씀 부탁드립니다!
===========================================================
'WAS' 카테고리의 다른 글
[Tomcat] HTTP Method 접근 제약 처리 (0) | 2025.02.20 |
---|