Seleccione sus preferencias de cookies

Usamos cookies esenciales y herramientas similares que son necesarias para proporcionar nuestro sitio y nuestros servicios. Usamos cookies de rendimiento para recopilar estadísticas anónimas para que podamos entender cómo los clientes usan nuestro sitio y hacer mejoras. Las cookies esenciales no se pueden desactivar, pero puede hacer clic en “Personalizar” o “Rechazar” para rechazar las cookies de rendimiento.

Si está de acuerdo, AWS y los terceros aprobados también utilizarán cookies para proporcionar características útiles del sitio, recordar sus preferencias y mostrar contenido relevante, incluida publicidad relevante. Para aceptar o rechazar todas las cookies no esenciales, haga clic en “Aceptar” o “Rechazar”. Para elegir opciones más detalladas, haga clic en “Personalizar”.

Ejecución de CodeBuild en un servidor proxy explícito

Modo de enfoque
Ejecución de CodeBuild en un servidor proxy explícito - AWS CodeBuild

Para ejecutar AWS CodeBuild en un servidor proxy explícito, debe configurar el servidor proxy de forma que permita o deniegue el tráfico dirigido a sitios externos o el tráfico procedente de estos sitios y debe configurar las variables de entorno HTTPS_PROXY y HTTP_PROXY.

Configuración de Squid como un servidor proxy explícito

Si desea configurar el servidor proxy de Squid para que sea explícito, debe realizar las siguientes modificaciones en el archivo /etc/squid/squid.conf:

  • Elimine las siguientes reglas de lista de control de acceso (ACL) predeterminadas.

    acl localnet src 10.0.0.0/8 acl localnet src 172.16.0.0/12 acl localnet src 192.168.0.0/16 acl localnet src fc00::/7 acl localnet src fe80::/10

    Agregue lo siguiente en lugar de las reglas de ACL predeterminadas que ha eliminado. La primera línea admite las solicitudes procedentes de la VPC. Las siguientes dos líneas conceden al servidor proxy acceso a una URL de destino que AWS CodeBuild podría estar utilizando. Modifique la expresión regular de la última línea para especificar buckets de S3 o un repositorio de CodeDommit en una región de AWS. Por ejemplo:

    • Si la fuente es Amazon S3, use el comando acl download_src dstdom_regex .*s3\.us-west-1\.amazonaws\.com para conceder acceso a los buckets de S3 de la región us-west-1.

    • Si la fuente es AWS CodeCommit, use git-codecommit.<your-region>.amazonaws.com para agregar una región de AWS a una lista de elementos permitidos.

    acl localnet src 10.1.0.0/16 #Only allow requests from within the VPC acl allowed_sites dstdomain .github.com #Allows to download source from GitHub acl allowed_sites dstdomain .bitbucket.com #Allows to download source from Bitbucket acl download_src dstdom_regex .*\.amazonaws\.com #Allows to download source from Amazon S3 or CodeCommit
  • Reemplace http_access allow localnet por lo siguiente:

    http_access allow localnet allowed_sites http_access allow localnet download_src
  • Si desea que la compilación cargue registros y artefactos, realice una de las siguientes acciones:

    1. Antes de la instrucción http_access deny all, inserte las siguientes instrucciones. Permiten a CodeBuild acceder a CloudWatch y Amazon S3. Se requiere acceso a CloudWatch para que CodeBuild pueda crear Registros de CloudWatch. El acceso a Amazon S3 es necesario para poder cargar artefactos y el almacenamiento en caché de Amazon S3.

      • 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 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
      • Después de guardar squid.conf, ejecute el comando siguiente:

        sudo iptables -t nat -A PREROUTING -p tcp --dport 443 -j REDIRECT --to-port 3130 sudo service squid restart
    2. Agregue proxy al archivo buildspec. Para obtener más información, consulte Sintaxis de buildspec.

      version: 0.2 proxy: upload-artifacts: yes logs: yes phases: build: commands: - command
nota

Si recibe un error de tiempo de espera agotado RequestError, consulte Error de tiempo de espera agotado de RequestError al ejecutar CodeBuld en un servidor proxy.

Para obtener más información, consulte Archivo squid.conf de ejemplo de un servidor proxy explícito más adelante en este tema.

Creación de un proyecto de CodeBuild.

Para ejecutar AWS CodeBuild con el servidor proxy explícito, defina las variables de entorno HTTPS_PROXY y HTTP_PROXY con la dirección IP privada de la instancia EC2 que creó para el servidor proxy y el puerto 3128 en el nivel del proyecto. La dirección IP privada será parecida a la siguiente: http://your-ec2-private-ip-address:3128. Para obtener más información, consulte Creación de un proyecto de compilación en AWS CodeBuild y Cambio de la configuración del proyecto de compilación en AWS CodeBuild.

Utilice el comando siguiente para ver el registro de acceso del proxy de Squid:

sudo tail -f /var/log/squid/access.log

Archivo squid.conf de ejemplo de un servidor proxy explícito

A continuación, se incluye un ejemplo de un archivo squid.conf configurado para un servidor proxy explícito.

acl localnet src 10.0.0.0/16 #Only allow requests from within the VPC # add all URLS to be whitelisted for download source and commands to be run in build environment acl allowed_sites dstdomain .github.com #Allows to download source from github acl allowed_sites dstdomain .bitbucket.com #Allows to download source from bitbucket acl allowed_sites dstdomain ppa.launchpad.net #Allows to run apt-get in build environment acl download_src dstdom_regex .*\.amazonaws\.com #Allows to download source from S3 or CodeCommit acl SSL_ports port 443 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 # https acl Safe_ports port 70 # gopher acl Safe_ports port 210 # wais acl Safe_ports port 1025-65535 # unregistered ports acl Safe_ports port 280 # http-mgmt acl Safe_ports port 488 # gss-http acl Safe_ports port 591 # filemaker acl Safe_ports port 777 # multiling http acl CONNECT method CONNECT # # Recommended minimum Access Permission configuration: # # Deny requests to certain unsafe ports http_access deny !Safe_ports # Deny CONNECT to other than secure SSL ports http_access deny CONNECT !SSL_ports # Only allow cachemgr access from localhost http_access allow localhost manager http_access deny manager # We strongly recommend the following be uncommented to protect innocent # web applications running on the proxy server who think the only # one who can access services on "localhost" is a local user #http_access deny to_localhost # # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS # # Example rule allowing access from your local networks. # Adapt localnet in the ACL section to list your (internal) IP networks # from where browsing should be allowed http_access allow localnet allowed_sites http_access allow localnet download_src http_access allow localhost # Add this for CodeBuild to access CWL end point, caching and upload artifacts S3 bucket end point 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 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 # And finally deny all other access to this proxy http_access deny all # Squid normally listens to port 3128 http_port 3128 # Uncomment and adjust the following to add a disk cache directory. #cache_dir ufs /var/spool/squid 100 16 256 # Leave coredumps in the first cache dir coredump_dir /var/spool/squid # # Add any of your own refresh_pattern entries above these. # refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 refresh_pattern . 0 20% 4320
PrivacidadTérminos del sitioPreferencias de cookies
© 2025, Amazon Web Services, Inc o sus afiliados. Todos los derechos reservados.