기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
투명한 프록시 CodeBuild 서버에서 실행하세요.
투명한 프록시 서버에서 AWS CodeBuild 실행하려면 프록시 서버가 상호 작용하는 웹 사이트 및 도메인에 액세스할 수 있도록 프록시 서버를 구성해야 합니다.
Squid를 투명 프록시 서버로 구성
프록시 서버를 투명으로 구성하려면 액세스하려는 도메인 및 웹 사이트에 대한 액세스 권한을 부여해야 합니다. 투명한 프록시 서버로 AWS CodeBuild 실행하려면 amazonaws.com
액세스 권한을 부여해야 합니다. 또한 다른 웹 사이트 사용자에게 액세스 권한을 부여해야 CodeBuild 합니다. 이는 CodeBuild 프로젝트를 만드는 방법에 따라 달라집니다. Bitbucket GitHub, Yum, Maven과 같은 리포지토리의 웹 사이트를 예로 들 수 있습니다. Squid에 특정 도메인 및 웹 사이트에 대한 액세스 권한을 부여하려면 다음과 같은 명령을 사용하여 squid.conf
파일을 업데이트합니다. 이 샘플 명령은 amazonaws.com
, github.com
및 bitbucket.com
에 대한 액세스 권한을 부여합니다. 이 샘플을 편집하여 다른 웹 사이트에 대한 액세스 권한을 부여할 수 있습니다.
cat | sudo tee /etc/squid/squid.conf ≪EOF visible_hostname squid #Handling HTTP requests http_port 3129 intercept acl allowed_http_sites dstdomain .amazonaws.com #acl allowed_http_sites dstdomain
domain_name
[uncomment this line to add another domain] http_access allow allowed_http_sites #Handling HTTPS requests https_port 3130 cert=/etc/squid/ssl/squid.pem ssl-bump intercept acl SSL_port port 443 http_access allow SSL_port acl allowed_https_sites ssl::server_name .amazonaws.com acl allowed_https_sites ssl::server_name .github.com acl allowed_https_sites ssl::server_name .bitbucket.com #acl allowed_https_sites ssl::server_name
[uncomment this line to add another website] acl step1 at_step SslBump1 acl step2 at_step SslBump2 acl step3 at_step SslBump3 ssl_bump peek step1 all ssl_bump peek step2 allowed_https_sites ssl_bump splice step3 allowed_https_sites ssl_bump terminate step2 all http_access deny all EOF
프라이빗 서브넷에 있는 인스턴스에서 오는 수신 요청은 Squid 포트로 리디렉션해야 합니다. Squid는 포트 3129에서 HTTP 트래픽 (80이 아닌) 을 수신하고 3130번 포트 (443번 대신) 에서 수신 대기합니다. HTTPS iptables 명령을 사용하여 트래픽을 라우팅합니다.
sudo iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 3129 sudo iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 3130 sudo service iptables save sudo service squid start
프로젝트 생성 CodeBuild
프록시 서버를 구성한 후에는 추가 구성 없이 프라이빗 AWS CodeBuild 서브넷에서 사용할 수 있습니다. 모든 HTTP AND HTTPS 요청은 공용 프록시 서버를 거칩니다. 다음 명령을 사용하여 Squid 프록시 액세스 로그를 확인합니다.
sudo tail -f /var/log/squid/access.log