[현상]
apache - jboss에서 모든 어플리케이션을 jboss에서 처리하도록 설정한 환경
서버 내에서는 한글.jpg로 파일명이 잘 보이는데 브라우저에서 이미지가 안 보임
또는 파일명은 보이는데 파일이 안열리거나 업/다운로드가 안되는 경우
mod_jk.conf 설정 변경 필요
# 이 설정을
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
# 아래와 같이 변경
JkOptions +ForwardKeySize +ForwardURIProxy -ForwardDirectories
=> ForwardURICompat는 Apache 방식으로 URI를 재해석하면서 한글이 깨지고, ForwardURIProxy는 프록시처럼 URI를 그대로 전달해서 한글이 보존된다
🔹 +ForwardURICompat (기본값에 가까움)
Apache가 URI를 한 번 해석(decode/encode) 해서 JBoss로 전달
특징
%EC%9D%B4%EB%AF%B8%EC%A7%80.jpg
→ Apache 내부에서 디코딩
→ 다시 인코딩하면서 문자셋 충돌 발생
결과
UTF-8 한글 → ISO-8859-1처럼 잘못 변환
JBoss에서 존재하지 않는 파일 경로로 인식
❌ 한글 파일 이미지 깨짐
📌 즉, “호환성”을 위해 URI를 건드리다가 한글이 망가짐
🔹 +ForwardURIProxy (프록시 모드)
Apache가 URI를 전혀 건드리지 않음
브라우저 → Apache → JBoss로 RAW URI 그대로 전달
특징
%EC%9D%B4%EB%AF%B8%EC%A7%80.jpg
→ JBoss가 직접 UTF-8 기준으로 해석
결과
JBoss / Servlet 컨테이너가 정상 처리
✅ 한글 파일명 이미지 정상
📌 Reverse Proxy와 동일한 전달 방식
JkOptions : 뒤따르는 옵션을 활성화(+)하거나 비활성화(-)하는 여러 전달 옵션을 설정할 수 있음. 아무런 기호가 없으면 활성화
ForwardKeySize : ajp13을 사용할 때 Servlet API 2.3에서 요구하는 대로 SSL 키 크기도 전달하도록 mod_jk에 요청
아래 네 가지 +ForwardURIxxx는 상호배타적. 이 중 하나만 선택 가능하고, 음수(-)는 사용 불가
기본값)
1.2.24 ~ : ForwardURIProxy
1.2.23 : ForwardURICompatUnparsed
1.2.22 : ForwardURICompat
ForwardURIProxy
전달된 URI는 Apache 내부에서 처리된 후 Tomcat으로 전달되기 전에 부분적으로 재인코딩
이렇게 하면 mod_rewrite를 사용한 로컬 URL 조작 및 URL 인코딩된 세션 ID와 호환됨
ForwardURICompatUnparsed
전달된 URI는 파싱되지 않은 상태로 전달되며, 이는 사양을 준수하며 안전함
항상 원래 요청 URI를 전달하므로 mod_rewrite를 사용하여 URI를 재작성한 후 재작성된 URI를 전달하는 방식은 작동하지 않음
ForwardURICompat
전달된 URI가 Apache에 의해 디코딩 됨
인코딩된 문자는 디코딩되고 "."와 같은 명시적 경로 구성 요소는 이미 해석됨
사양을 준수하지 않으며 접두사 JkMount를 사용하는 경우 안전하지 않음
이 옵션을 사용하면 전달하기 전에 mod_rewrite를 사용하여 URI를 다시 작성할 수 있음
ForwardURIEscaped
전달되는 URI는 ForwardURICompat에서 사용하는 URI의 인코딩된 형식이 됨
"."와 같은 명시적인 경로 구성 요소는 이미 해석되고, 이 방법은 URL 인코딩된 세션 ID와 함께 사용할 수는 없지만 전달하기 전에 mod_rewrite를 사용하여 URI를 재작성할 수 있음
ForwardDirectories : Apache의 DirectoryIndex 지시문 과 함께 사용
따라서 mod_dir은 Apache에서 정적으로 또는 동적으로(DSO) 사용할 수 있어야 함
https://tomcat.apache.org/connectors-doc/reference/apache.html
The Apache Tomcat Connectors - Reference Guide (1.2.50) - Configuring mod_jk for the Apache HTTP Server
Alternatively to the mod_jk specific directives, you can also use SetHandler and environment variables to control, which requests are being forwarded via which worker. This gives you more flexibility, but the results might be more difficult to understand.
tomcat.apache.org
'WEB > APACHE' 카테고리의 다른 글
| 27. Apache SameSite 설정 (0) | 2026.06.08 |
|---|---|
| 26. SSL 인증서 파일 포맷 종류 (0) | 2026.04.22 |
| 24. X-Forwarded-For(XFF) 설정 (0) | 2026.01.15 |
| 23. ssl 인증서 암호 해제 (0) | 2025.12.23 |
| 22. 작업 중 페이지 설정(ErrorDocument) (0) | 2025.12.23 |