728x90
반응형
Nginx를 설치하고 proxy_connect 모듈을 사용하려면 다음과 같은 단계를 따를 수 있습니다. proxy_connect 모듈은 일반적으로 Nginx의 기본 설치에 포함되어 있지 않기 때문에 해당 모듈을 사용하려면 직접 컴파일하여 Nginx를 빌드해야 합니다
https://nginx.org/en/download.html
1. 필요한 패키지 설치
sudo apt update
sudo apt install build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev
2. Nginx 소스코드 다운로드 및 압축 해제
# Nginx 소스코드 다운로드
wget http://nginx.org/download/nginx-1.24.0.tar.gz
# 압축 해제
tar -zxvf nginx-1.24.0.tar.gz
3. proxy_connect 모듈 다운로드
# proxy_connect 모듈 다운로드
git clone https://github.com/chobits/ngx_http_proxy_connect_module.git
4. Nginx 컴파일 및 설치
# configure 명령어 실행
cd nginx-1.24.0
patch -p1 < ~/ngx_http_proxy_connect_module/patch/proxy_connect_rewrite_102101.patch
./configure --add-module=../ngx_http_proxy_connect_module \
--prefix=/APP/nginx \
--pid-path=/var/run/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--http-client-body-temp-path=/var/lib/nginx/body \
--http-proxy-temp-path=/var/lib/nginx/proxy \
--http-fastcgi-temp-path=/var/lib/nginx/fstcgi \
--http-uwsgi-temp-path=/var/lib/nginx/uwsgi \
--http-scgi-temp-path=/var/lib/nginx/scgi \
--http-log-path=/var/log/nginx/access.log \
--error-log-path=/var/log/nginx/error.log \
--with-http_realip_module \
--with-http_stub_status_module \
--with-stream \
--with-http_ssl_module \
--with-compat
# Nginx 컴파일
make
# Nginx 설치
sudo make install
옵션 | 설명 |
--add-module=../ngx_http_proxy_connect_module | proxy_connect 모듈을 Nginx에 추가합니다. |
--prefix=/APP/nginx | Nginx를 설치할 기본 디렉터리를 설정합니다. |
--pid-path=/var/run/nginx.pid | Nginx의 PID 파일이 저장될 경로를 지정합니다. |
--lock-path=/var/lock/nginx.lock | 락 파일의 경로를 설정합니다. |
--http-client-body-temp-path=/var/lib/nginx/body | HTTP 클라이언트의 바디 데이터를 저장할 임시 디렉터리를 설정합니다. |
--http-proxy-temp-path=/var/lib/nginx/proxy | 프록시 모듈에서 사용하는 임시 파일을 저장할 디렉터리를 설정합니다. |
--http-fastcgi-temp-path=/var/lib/nginx/fstcgi | FastCGI 모듈에서 사용하는 임시 파일을 저장할 디렉터리를 설정합니다. |
--http-uwsgi-temp-path=/var/lib/nginx/uwsgi | uWSGI 모듈에서 사용하는 임시 파일을 저장할 디렉터리를 설정합니다. |
--http-scgi-temp-path=/var/lib/nginx/scgi | SCGI 모듈에서 사용하는 임시 파일을 저장할 디렉터리를 설정합니다. |
--http-log-path=/var/log/nginx/access.log | HTTP 요청의 액세스 로그 파일의 경로를 설정합니다. |
--error-log-path=/var/log/nginx/error.log | 오류 로그 파일의 경로를 설정합니다. |
--with-http_realip_module | ngx_http_realip_module 모듈을 포함하여 실제 IP 주소를 추출하는 기능을 활성화합니다. |
--with-http_stub_status_module | ngx_http_stub_status_module 모듈을 활성화하여 Nginx의 상태를 보고하는 기능을 활성화합니다. |
--with-stream | ngx_stream_core_module을 포함하여 TCP/UDP 프록시 기능을 활성화합니다. |
--with-http_ssl_module | SSL 지원을 활성화합니다. |
--with-compat | 가능한 많은 이전 버전과의 호환성을 유지하는 데 도움을 줍니다. |
5. Nginx 권한 설정 및 실행파일 복사
# nginx 권한 설정 - 1024 포트 이하의 접근이 가능하게함
setcap CAP_NET_BIND_SERVICE=+eip /APP/nginx/sbin/nginx
# nginx 를 sbin 에 등록하여, 어디서든 명령어를 사용할 수 있게 함
cp -p /APP/nginx/sbin/nginx /usr/sbin
6. Nginx 설정 파일 수정
$ sudo nano /usr/local/nginx/conf/nginx.conf
http {
# 기존 설정...
server {
listen 80;
location / {
proxy_pass http://backend_server;
proxy_connect;
}
}
upstream backend_server {
server backend_ip:backend_port;
# 백엔드 서버의 IP 주소와 포트를 실제 값으로 변경해야 합니다.
}
}
7. Nginx 재시작
sudo nginx -s reload
참고 사이트
GitHub - chobits/ngx_http_proxy_connect_module: A forward proxy module for CONNECT request handling
728x90
반응형
LIST
'WEB,WAS' 카테고리의 다른 글
[Network] HTTP 오류코드 비교 (301, 302, 308) (2) | 2024.01.29 |
---|---|
[Nginx] nginx 에서 NAT IP 설정 예시 (1) | 2024.01.11 |
[NGINX] root user가 아닌 nginx 권한 설정 (2) | 2024.01.04 |
[WEB] HTTP Header에 사용되는 모든 옵션 (1) | 2023.12.14 |
[Nginx] Nginx 에서 ACL(Access Control List) 설정 방법 (1) | 2023.11.24 |