Show Table of Contents
19.2. Squid 프록시
19.2.1. Squid 프록시 설치 및 설정
요약
다음 부분에서는 사용자 포털에서 Squid 프록시를 설치 및 설정하는 방법에 대해 설명합니다. Squid 프록시 서버는 컨텐츠 가속기로 사용됩니다. 이는 대역폭을 감소시키고 응답 시간을 개선하여 자주 확인되는 컨텐츠를 캐시합니다.
절차 19.4. Squid 프록시 설정
- Squid 프록시 서버의 HTTPS 포트 용 키 쌍 및 인증서를 가져옵니다. 이러한 키 쌍은 다른 SSL/TLS 서비스의 키 쌍을 얻는 방법과 동일한 방법으로 획득할 수 있습니다. 키 쌍은 개인 키 및 서명된 인증서가 들어 있는 두 개의 PEM 파일 형식으로 되어 있습니다. 이러한 절차에서는 이러한 파일 이름이
proxy.key
및proxy.cer
라고 지정되어 있다고 전제합니다.참고
키 쌍 및 인증서는 engine 인증 기관을 사용하여 생성될 수 있습니다. 프록시에 대해 개인키와 인증서가 있어 engine 인증 기관을 통해 이를 생성하지 않으려면 다음 단계를 생략합니다. - 프록시의 호스트 이름을 선택합니다. 그 후 프록시 용 고유의 인증서 이름의 다른 구성 요소를 선택합니다.
참고
engine 자체적으로 사용하는 것과 동일한 나라와 조직 이름을 사용하는 것이 좋습니다. Manager가 설치된 시스템에 로그인하고 다음과 같은 명령을 실행하여 정보를 찾을 수 있습니다:# openssl x509 -in /etc/pki/ovirt-engine/ca.pem -noout -subject
이러한 명령의 출력 결과는 다음과 같습니다:subject= /C=US/O=Example Inc./CN=engine.example.com.81108
여기서 관련된 부분은/C=US/O=Example Inc.
입니다. 이를 사용하여 프록시 인증서의 고유한 이름을 작성합니다:/C=US/O=Example Inc./CN=proxy.example.com
- 프록시 시스템에 로그인하고 인증서 서명 요청을 생성합니다:
# openssl req -newkey rsa:2048 -subj '/C=US/O=Example Inc./CN=proxy.example.com' -nodes -keyout proxy.key -out proxy.req
중요
인용 부호를 사용하여 인증서 이름을 구별합니다.-nodes
옵션으로 개인키가 암호화되지 않도록합니다. 이는 프록시 서버를 시작할 때 암호를 입력할 필요가 없음을 의미합니다.이 명령은proxy.key
및proxy.req
라는 두 개의 파일을 생성합니다.proxy.key
는 개인키입니다. 이 파일을 안전한 장소에 보관합니다.proxy.req
는 인증서 서명 요청 파일입니다.proxy.req
에는 특별한 보안이 필요하지 않습니다. - 서명된 인증서를 생성하려면 프록시 시스템에서 Manager 시스템으로 인증서 서명 요청 파일을 복사합니다:
# scp proxy.req engine.example.com:/etc/pki/ovirt-engine/requests/.
- Manager 시스템에 로그인하고 인증서에 서명합니다:
# /usr/share/ovirt-engine/bin/pki-enroll-request.sh --name=proxy --days=3650 --subject='/C=US/O=Example Inc./CN=proxy.example.com'
이는 인증서를 서명하고 10년 (3650일) 동안 사용할 수 있습니다. 필요에 따라 인증서 만료 기간을 짧게 설정할 수 있습니다. - 생성된 인증서 파일은
/etc/pki/ovirt-engine/certs
디렉토리에서 사용할 수 있으며proxy.cer
라고 이름을 지정해야 합니다. 프록시 시스템에 있는 Manager 시스템에서 현재 디렉토리로 이 파일을 복사합니다:# scp engine.example.com:/etc/pki/ovirt-engine/certs/proxy.cer .
- 프록시 시스템에
proxy.key
및proxy.cer
모두가 표시되는지 확인합니다:# ls -l proxy.key proxy.cer
- 프록시 머신에 Squid 프록시 서버 패키지를 설치합니다:
# yum install squid
- 개인키 및 서명된 인증서를
/etc/squid
디렉토리와 같이 프록시가 액세스할 수 있는 위치로 옮깁니다:# cp proxy.key proxy.cer /etc/squid/.
squid
사용자가 이러한 파일을 읽을 수 있도록 권한을 설정합니다:# chgrp squid /etc/squid/proxy.* # chmod 640 /etc/squid/proxy.*
- Squid 프록시는 engine에 의해 사용되는 인증서를 확인합니다. Manager 인증서를 프록시 시스템에 복사합니다. 다음 예에서는
/etc/squid
파일 경로를 사용합니다:# scp engine.example.com:/etc/pki/ovirt-engine/ca.pem /etc/squid/.
참고
기본값 CA 인증서는 Manager 시스템 상의/etc/pki/ovirt-engine/ca.pem
에 위치합니다. squid
사용자가 인증서 파일을 읽을 수 있도록 권한을 설정합니다:# chgrp squid /etc/squid/ca.pem # chmod 640 /etc/squid/ca.pem
- SELinux가 강제 적용 모드일 경우 Squid가 포트 443을 사용할 수 있도록 허용하기 위해 semanage 도구를 사용하여 포트 443의 컨텍스트를 변경합니다:
# yum install policycoreutils-python # semanage port -m -p tcp -t http_cache_port_t 443
- 기존 Squid 설정 파일을 다음으로 대체합니다:
https_port 443 key=/etc/squid/proxy.key cert=/etc/squid/proxy.cer ssl-bump defaultsite=engine.example.com cache_peer engine.example.com parent 443 0 no-query originserver ssl sslcafile=/etc/squid/ca.pem name=engine cache_peer_access engine allow all ssl_bump allow all http_access allow all
- Squid 프록시 서버를 다시 시작합니다:
# service squid restart
- 전체 URL을 사용하여 사용자 포털에 연결합니다. 예:
https://proxy.example.com/UserPortal/org.ovirt.engine.ui.userportal.UserPortal/UserPortal.html
참고
https://proxy.example.com/UserPortal
과 같이 짧은 형식의 URL은 작동하지 않습니다. 이러한 짧은 형식의 URL은 302 응답 코드와 위치 헤더를 사용하여 애플리케이션 서버에서 긴 형식의 URL로 리디렉션됩니다. Red Hat Enterprise Linux에서 Squid 버전은 이러한 헤더를 다시 작성하는 것을 지원하지 않습니다.
참고
기본 설정에서 Squid 프록시는 15 분 대기 상태 후 연결을 종료합니다. Squid 프록시가 연결 대기 상태를 종료하기 전 대기 시간을 늘리려면
squid.conf
에 있는 read_timeout
옵션을 조정합니다 (예: read_timeout 10 hours
).
Comments