728x90
프록시 패스란?
프록시 패스는 클라이언트의 요청을 다른 서버로 전달하는 기능입니다.
- 백엔드 서버 분리 : 클라이언트는 프록시 서버만을 통해 접근하며, 실제 백엔드 서버는 외부에 노출되지 않습니다.
- 로드 밸런싱 : 프록시 서버에서 요청을 받아 여러 백엔드 서버로 분산시킬 수 있습니다.
- 보안 강화 : 프록시 서버에서 SSL 종료를 처리하여 백엔드 서버의 부담을 줄여 네트워크 보안을 강화할 수 있습니다.
1. 모듈 활성화
httpd.conf 파일은 일반적으로 /etc/httpd/conf/httpd.conf 또는 /etc/apache2/httpd.conf에 위치합니다.
# mod_proxy 모듈 활성화
LoadModule proxy_module modules/mod_proxy.so
# mod_proxy_http 모듈 활성화 (프록시 패스를 위해 필요)
LoadModule proxy_http_module modules/mod_proxy_http.so
2. 프록시 패스 설정
<VirtualHost *:80>
ServerAdmin samso@tistory.com
DocumentRoot /samso/samsodir/samsoroot
# 프록시 패스 설정
ProxyPass "/api" "http://192.168.1.111:8080/" timeout=5 retry=60 keepalive=On
ProxyPassReverse "/api" "http://192.168.1.111:8080/"
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
프록시 패스 설정 설명
- ProxyPass : 특정 경로의 요청을 다른 서버로 전달합니다.
위의 코드는 /api로 들어오는 요청은 http://192.168.1.111:8080/ 로 전달합니다. - ProxyPassReverse : 프록시된 서버의 응답 헤더를 클라이언트에게 변환하여 전달합니다.
3. ProxyPass / ProxyPassReverse 옵션
옵션 | 설명 |
timeout | 프록시 요청에 대한 응답을 기다리는 최대 시간을 지정합니다. [초 단위] |
retry | 프록시 서버가 다운된 후 다시 시도하기까지의 대기 시간을 지정합니다. [초 단위] |
noquery | 요청 URL의 쿼리 문자열을 프록시된 URL에 추가하지 않습니다. |
interpolate | 환경 변수 치환을 활성화합니다. [%{VARNAME} 형식] |
nocanon | 프록시 URL로 요청을 전달할 때 URL을 표준화하지 않습니다. |
keepalive | 백엔드 서버와의 keep-alive 연결을 사용할지 여부를 지정합니다. [Default : On] |
4. 설정 적용
# systemctl restart httpd
728x90
반응형
'Server > Web' 카테고리의 다른 글
Web - Apache HTTPS 프로토콜 강제 적용하기 (HSTS 설정) (0) | 2024.11.26 |
---|---|
Web - Apache를 이용한 로드 밸런서 설정 가이드 (0) | 2024.05.28 |
Web - Apache mod_rewrite 사용 변수 모음집 (0) | 2024.05.18 |
Web - Apache 웹 서버에서 Redirect / Rewrite 방법 (0) | 2024.05.17 |
Web - Apache SSL 인증서 비밀번호 자동입력 / 비밀번호 삭제 (2) | 2023.10.27 |