<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://freemwiki.com/index.php?action=history&amp;feed=atom&amp;title=Openai%2F69492db8-4b14-8011-a1bf-8afac9aa2935</id>
	<title>Openai/69492db8-4b14-8011-a1bf-8afac9aa2935 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://freemwiki.com/index.php?action=history&amp;feed=atom&amp;title=Openai%2F69492db8-4b14-8011-a1bf-8afac9aa2935"/>
	<link rel="alternate" type="text/html" href="https://freemwiki.com/index.php?title=Openai/69492db8-4b14-8011-a1bf-8afac9aa2935&amp;action=history"/>
	<updated>2026-05-27T17:18:38Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.3</generator>
	<entry>
		<id>https://freemwiki.com/index.php?title=Openai/69492db8-4b14-8011-a1bf-8afac9aa2935&amp;diff=594778&amp;oldid=prev</id>
		<title>Lukegao: by freem.ai...</title>
		<link rel="alternate" type="text/html" href="https://freemwiki.com/index.php?title=Openai/69492db8-4b14-8011-a1bf-8afac9aa2935&amp;diff=594778&amp;oldid=prev"/>
		<updated>2025-12-23T05:36:09Z</updated>

		<summary type="html">&lt;p&gt;by freem.ai...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
{{DISPLAYTITLE:mod_jk mod_proxy 비교}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;This conversation was exported from ChatGPT&amp;#039;&amp;#039;&amp;lt;ref&amp;gt;{{cite web|title=mod_jk mod_proxy 비교|url=https://chatgpt.com/share/69492db8-4b14-8011-a1bf-8afac9aa2935|publisher=ChatGPT|access-date=2025-12-22}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== gpt-5-2 ==&lt;br /&gt;
=== User: modjk, modproxy 비교 ===&lt;br /&gt;
mod_jk, mod_proxy 비교&lt;br /&gt;
&lt;br /&gt;
=== Assistant: Apache에서 modjk와 modproxy는 모두 리버스 프록시 / 연동 모듈이지만, 목적·역사·구조·권장 사용처가 꽤 다릅니다. ===&lt;br /&gt;
Apache에서 mod_jk와 mod_proxy는 모두 리버스 프록시 / 연동 모듈이지만, 목적·역사·구조·권장 사용처가 꽤 다릅니다.&lt;br /&gt;
&lt;br /&gt;
==== 한 줄 요약 ====&lt;br /&gt;
* mod_jk 👉 Apache ↔ Tomcat 전용, AJP 기반, 레거시·엔터프라이즈 환경&lt;br /&gt;
* mod_proxy 👉 범용 프록시, HTTP/HTTPS/WebSocket 등 지원, 현재 표준&lt;br /&gt;
&lt;br /&gt;
==== 핵심 비교 표 ====&lt;br /&gt;
&lt;br /&gt;
| 항목        | mod_jk                | mod_proxy               |&lt;br /&gt;
| --------- | --------------------- | ----------------------- |&lt;br /&gt;
| 주 용도      | Apache ↔ Tomcat 전용 연동 | Apache ↔ 모든 WAS / 서비스   |&lt;br /&gt;
| 프로토콜      | AJP (8009)            | HTTP / HTTPS / WS / AJP |&lt;br /&gt;
| 설정 난이도    | ❌ 복잡                  | ✅ 단순                    |&lt;br /&gt;
| 설정 파일     | workers.properties 필요 | Apache 설정만으로 가능         |&lt;br /&gt;
| 로드밸런싱     | 가능 (jk_lb)            | 가능 (mod_proxy_balancer) |&lt;br /&gt;
| 보안 이슈     | ⚠ AJP Ghost 취약점 이력    | 상대적으로 안전                |&lt;br /&gt;
| 유지보수      | ⚠ 레거시                 | ✅ 적극 권장                 |&lt;br /&gt;
| 클라우드/컨테이너 | ❌ 부적합                 | ✅ 매우 적합                 |&lt;br /&gt;
&lt;br /&gt;
==== mod_jk 특징 (AJP 기반) ====&lt;br /&gt;
&lt;br /&gt;
===== 장점 =====&lt;br /&gt;
* Tomcat과의 깊은 통합&lt;br /&gt;
* 오래된 대규모 시스템에서 검증됨&lt;br /&gt;
* 세션 스티키 설정이 명확&lt;br /&gt;
&lt;br /&gt;
===== 단점 =====&lt;br /&gt;
* AJP 포트(8009) 노출 시 치명적 보안 이슈&lt;br /&gt;
* 설정이 번거로움&lt;br /&gt;
* Tomcat 전용 → 확장성 떨어짐&lt;br /&gt;
&lt;br /&gt;
===== 사용 예 =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;apache&amp;quot;&amp;gt;LoadModule jk_module modules/mod_jk.so&lt;br /&gt;
&lt;br /&gt;
JkWorkersFile conf/workers.properties&lt;br /&gt;
JkMount /app/* worker1&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
👉 레거시 Tomcat + Apache 환경에서만 유지 권장&lt;br /&gt;
&lt;br /&gt;
==== mod_proxy 특징 (HTTP 기반) ====&lt;br /&gt;
&lt;br /&gt;
===== 장점 =====&lt;br /&gt;
* Apache 공식 범용 프록시&lt;br /&gt;
* WAS 종류 무관 (Tomcat, Spring Boot, Node.js, FastAPI…)&lt;br /&gt;
* HTTPS, WebSocket 지원&lt;br /&gt;
* 설정 간결, 클라우드 친화적&lt;br /&gt;
&lt;br /&gt;
===== 단점 =====&lt;br /&gt;
* 아주 미세한 성능 차이는 있을 수 있음 (실무에선 거의 무의미)&lt;br /&gt;
&lt;br /&gt;
===== 사용 예 =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;apache&amp;quot;&amp;gt;LoadModule proxy_module modules/mod_proxy.so&lt;br /&gt;
LoadModule proxy_http_module modules/mod_proxy_http.so&lt;br /&gt;
&lt;br /&gt;
ProxyPass /app http://localhost:8080/app&lt;br /&gt;
ProxyPassReverse /app http://localhost:8080/app&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 로드밸런싱 비교 ====&lt;br /&gt;
&lt;br /&gt;
===== mod_jk =====&lt;br /&gt;
* workers.properties에서 정의&lt;br /&gt;
* 설정 분리 → 관리 비용 증가&lt;br /&gt;
&lt;br /&gt;
===== mod_proxy =====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;apache&amp;quot;&amp;gt;&amp;lt;Proxy balancer://cluster&amp;gt;&lt;br /&gt;
  BalancerMember http://server1:8080&lt;br /&gt;
  BalancerMember http://server2:8080&lt;br /&gt;
&amp;lt;/Proxy&amp;gt;&lt;br /&gt;
&lt;br /&gt;
ProxyPass / balancer://cluster/&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
👉 가독성·운영성에서 mod_proxy 압승&lt;br /&gt;
&lt;br /&gt;
==== 보안 관점 (중요) ====&lt;br /&gt;
&lt;br /&gt;
| 항목    | mod_jk                   | mod_proxy        |&lt;br /&gt;
| ----- | ------------------------ | ---------------- |&lt;br /&gt;
| 기본 포트 | 8009 (AJP)               | 80 / 443         |&lt;br /&gt;
| 주요 사고 | Ghostcat (CVE-2020-1938) | 상대적으로 적음         |&lt;br /&gt;
| 권장 설정 | 내부망 완전 차단 필수             | HTTPS + 일반 보안 설정 |&lt;br /&gt;
&lt;br /&gt;
👉 AJP는 더 이상 외부 노출 금물&lt;br /&gt;
&lt;br /&gt;
==== 언제 무엇을 써야 하나? ====&lt;br /&gt;
&lt;br /&gt;
===== ✅ mod_proxy를 써야 하는 경우 (대부분) =====&lt;br /&gt;
* 신규 시스템&lt;br /&gt;
* Spring Boot / MSA&lt;br /&gt;
* Docker / Kubernetes&lt;br /&gt;
* HTTPS / WebSocket 필요&lt;br /&gt;
* Tomcat 외 WAS 연동&lt;br /&gt;
&lt;br /&gt;
===== ⚠ mod_jk를 유지하는 경우 =====&lt;br /&gt;
* 이미 구축된 레거시&lt;br /&gt;
* AJP 의존 구조&lt;br /&gt;
* 변경 비용이 매우 큰 엔터프라이즈 시스템&lt;br /&gt;
&lt;br /&gt;
==== 결론 (현업 기준) ====&lt;br /&gt;
&lt;br /&gt;
: 2025년 기준&lt;br /&gt;
* ❌ 새 프로젝트에 mod_jk 선택하지 마세요&lt;br /&gt;
* ✅ mod_proxy가 사실상 표준&lt;br /&gt;
&lt;br /&gt;
원하시면&lt;br /&gt;
👉 mod_jk → mod_proxy 마이그레이션 가이드&lt;br /&gt;
👉 Tomcat + Apache 최신 권장 구성&lt;br /&gt;
👉 Nginx와의 비교&lt;br /&gt;
&lt;br /&gt;
도 바로 정리해 드릴게요.&lt;br /&gt;
&lt;br /&gt;
=== User: 시작된 연도 ===&lt;br /&gt;
시작된 연도&lt;br /&gt;
&lt;br /&gt;
=== Assistant: modjk와 modproxy의 시작된 연도는 다음과 같습니다. ===&lt;br /&gt;
mod_jk와 mod_proxy의 시작된 연도는 다음과 같습니다.&lt;br /&gt;
&lt;br /&gt;
| 모듈        | 시작 연도 | 배경                                      |&lt;br /&gt;
| --------- | ----- | --------------------------------------- |&lt;br /&gt;
| mod_jk    | 1999년 | Apache + Tomcat 연동을 위해 AJP 프로토콜 기반으로 등장 |&lt;br /&gt;
| mod_proxy | 2002년 | Apache 2.0과 함께 도입된 범용 프록시 프레임워크         |&lt;br /&gt;
&lt;br /&gt;
===== 한 줄 정리 =====&lt;br /&gt;
* mod_jk (1999) 👉 Tomcat 전용 연동을 위해 먼저 등장한 레거시 성격&lt;br /&gt;
* mod_proxy (2002) 👉 Apache 2.x 시대의 표준 프록시 기반&lt;br /&gt;
&lt;br /&gt;
그래서 연혁상으로도 mod_jk → mod_proxy 흐름이며, 현재는 mod_proxy가 사실상 정석입니다.&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:ChatGPT Shares]]&lt;br /&gt;
[[Category:openai]]&lt;/div&gt;</summary>
		<author><name>Lukegao</name></author>
	</entry>
</feed>