투명한 프록시 CodeBuild 서버에서 실행하세요. - AWS CodeBuild

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

투명한 프록시 CodeBuild 서버에서 실행하세요.

투명한 프록시 서버에서 AWS CodeBuild 실행하려면 프록시 서버가 상호 작용하는 웹 사이트 및 도메인에 액세스할 수 있도록 프록시 서버를 구성해야 합니다.

Squid를 투명 프록시 서버로 구성

프록시 서버를 투명으로 구성하려면 액세스하려는 도메인 및 웹 사이트에 대한 액세스 권한을 부여해야 합니다. 투명한 프록시 서버로 AWS CodeBuild 실행하려면 amazonaws.com 액세스 권한을 부여해야 합니다. 또한 다른 웹 사이트 사용자에게 액세스 권한을 부여해야 CodeBuild 합니다. 이는 CodeBuild 프로젝트를 만드는 방법에 따라 달라집니다. Bitbucket GitHub, Yum, Maven과 같은 리포지토리의 웹 사이트를 예로 들 수 있습니다. Squid에 특정 도메인 및 웹 사이트에 대한 액세스 권한을 부여하려면 다음과 같은 명령을 사용하여 squid.conf 파일을 업데이트합니다. 이 샘플 명령은 amazonaws.com, github.combitbucket.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