Para ejecutar AWS CodeBuild en un servidor proxy transparente, debe configurar el servidor proxy para que tenga acceso a los sitios web y los dominios con los que interactúa.
Temas
Configuración de Squid como un servidor proxy transparente
Si desea configurar un servidor proxy para que sea transparente, debe concederle acceso a los dominios y sitios web que desee. Para ejecutar AWS CodeBuild con un servidor proxy transparente, debe concederle acceso a amazonaws.com
. También debe concederle acceso a otros sitios web que CodeBuild utilice. Los valores variarán en función de cómo cree los proyectos de CodeBuild. Existen sitios web de ejemplo con repositorios, como GitHub, Bitbucket, Yum y Maven. Para conceder a Squid acceso a determinados dominios y sitios web, utilice un comando similar al siguiente para actualizar el archivo squid.conf
. Este comando de ejemplo concede acceso a amazonaws.com
, github.com
y bitbucket.com
. Puede editar este ejemplo para conceder acceso a otros sitios web.
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
Las solicitudes entrantes procedentes de las instancias de la subred privada deben redirigirse a los puertos de Squid. Squid escucha el tráfico HTTP en el puerto 3129 (en lugar de en el 80) y el tráfico HTTPS en el puerto 3130 (en lugar de en el 443). Utilice el comando iptables para direccionar el tráfico:
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
Creación de un proyecto de CodeBuild.
Una vez configurado el servidor proxy, podrá utilizarlo con AWS CodeBuild en una subred privada sin necesidad de configurar nada más. Todas las solicitudes HTTP y HTTPS pasan por el servidor proxy público. Utilice el comando siguiente para ver el registro de acceso del proxy de Squid:
sudo tail -f /var/log/squid/access.log