{"meta":{"title":"Uso de servidores proxy con un ejecutor","intro":"Puede configurar los ejecutores en entornos aislados para que utilicen un servidor proxy para una comunicación segura con GitHub.","product":"GitHub Actions","breadcrumbs":[{"href":"/es/actions","title":"GitHub Actions"},{"href":"/es/actions/how-tos","title":"Procedimientos"},{"href":"/es/actions/how-tos/manage-runners","title":"Gestión de corredores"},{"href":"/es/actions/how-tos/manage-runners/use-proxy-servers","title":"Uso de servidores proxy"}],"documentType":"article"},"body":"# Uso de servidores proxy con un ejecutor\n\nPuede configurar los ejecutores en entornos aislados para que utilicen un servidor proxy para una comunicación segura con GitHub.\n\n## Configuración de un proxy para ejecutores de Linux y Windows\n\nSi el ejecutor necesita comunicarse a través de un servidor proxy, puede configurar las opciones de proxy mediante variables de entorno o configuraciones de nivel de sistema.\n\n| Variable      | Description                                                                                           | Example                                                                                     |\n| ------------- | ----------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------- |\n| `https_proxy` | Dirección URL del proxy para el tráfico HTTPS. Si es necesario, puede incluir la autenticación básica.                        | `http://proxy.local`<br>`http://192.168.1.1:8080`<br>`http://username:password@proxy.local` |\n| `http_proxy`  | Dirección URL del proxy para el tráfico HTTP. Si es necesario, puede incluir la autenticación básica.                         | `http://proxy.local`<br>`http://192.168.1.1:8080`<br>`http://username:password@proxy.local` |\n| `no_proxy`    | Lista separada por comas de hosts o direcciones IP que deben omitir el proxy. Algunos clientes solo respetan las direcciones IP cuando se realizan conexiones directamente a la dirección IP en lugar de un nombre de host. | `example.com`<br>`example.com,myserver.local:443,example.org`                               |\n\nLas variables de entorno de proxy se leen cuando se inicia la aplicación del ejecutor, por lo que debe establecer las variables de entorno antes de configurar o iniciar la aplicación del ejecutor. Si cambia la configuración del proxy, debe reiniciar la aplicación del ejecutor.\n\nEn las máquinas Windows, los nombres de las variables de entorno de proxy no distinguen mayúsculas de minúsculas. En las máquinas Linux y macOS, te recomendamos que uses todas las variables de entorno en minúsculas. Si tiene una variable de entorno tanto en minúsculas como en mayúsculas en Linux o macOS, por ejemplo, `https_proxy` y `HTTPS_PROXY`, la aplicación de ejecutor autoalojado utiliza la variable de entorno en minúsculas.\n\nLa conexión entre ejecutores autohospedados y GitHub se realiza a través HTTPS (puerto 443). \n\n> [!WARNING]\n> Los runners autohospedados no admiten el uso de direcciones IP y rangos CIDR en la variable de entorno `no_proxy`. Si la GitHub Enterprise Server instancia usa una dirección IP y configura `no_proxy` para omitir el proxy de esa dirección, el ejecutor seguirá sin conectarse.\n> Si se accede a la GitHub Enterprise Server instancia mediante una dirección IP y la conexión debe omitir el proxy, el ejecutor no podrá conectarse, incluso si esa dirección IP aparece en `no_proxy`.\n\n### Configuraciones de ejemplo\n\n> [!NOTE]\n> Para evitar problemas, se recomienda tratar las variables de entorno como que distinguen mayúsculas de minúsculas, independientemente del comportamiento del sistema operativo y del shell que utilices.\n\n#### Linux y macOS\n\nEstablezca variables de entorno de proxy para el ejecutor.\n\n```shell copy\nexport https_proxy=http://proxy.local:8080\nexport http_proxy=http://proxy.local:8080\nexport no_proxy=example.com,localhost,127.0.0.1\n```\n\n#### Windows\n\nEn Windows, puede configurar los valores de proxy estableciendo variables de entorno o mediante el [comando netsh](https://learn.microsoft.com/en-us/windows/win32/winhttp/netsh-exe-commands#set-advproxy).\nEl enfoque netsh se aplica a aplicaciones y servicios que dependen de la API winHTTP.\n\nLa configuración de variables de entorno sigue siendo necesaria para los ejecutores que usan redes privadas. Si también necesita configurar netsh depende de las aplicaciones usadas en los flujos de trabajo.\n\n```shell copy\nnetsh winhttp set advproxy setting-scope=machine settings={\\\"Proxy\\\":\\\"proxy.local:8080\\\",\\\"ProxyBypass\\\":\\\"168.63.129.16;169.254.169.254\\\",\\\"AutoconfigUrl\\\":\\\"\\\",\\\"AutoDetect\\\":false} \n```\n\nAl configurar esto durante la generación de imágenes personalizadas, use `setting-scope=machine` para asegurarse de que la configuración del proxy persiste después de los reinicios y durante la creación de imágenes de máquina virtual.\n\n### Hacer que la configuración de proxy sea persistente\n\nAl establecer estas variables de entorno durante la generación de imágenes personalizadas, asegúrese de que la configuración persiste en reinicios o recompilaciones de imágenes.\n\n#### Linux y macOS\n\nEscriba las variables en `/etc/environment`.\n\n```shell\n echo 'http_proxy=http://proxy.local' >> /etc/environment\n```\n\n#### Windows\n\nEstablezca las variables de entorno de todo el sistema.\n\n```shell copy\n[Environment]::SetEnvironmentVariable(\"http_proxy\", \"http://proxy.local\", \"Machine\")\n```\n\n## Configuración de un proxy para ejecutores de Azure\n\nSi el ejecutor se hospeda en Azure, ya sea como ejecutor autohospedado o como ejecutor más grande hospedado en GitHub implementado con redes privadas, es posible que tenga que configurar un proxy para permitir la conectividad saliente a los servicios de GitHub a la vez que mantiene el aislamiento de red.\n\nDebe agregar direcciones IP de administración y metadatos de Azure a la `no_proxy` lista para asegurarse de que el ejecutor pueda acceder a los servicios de Azure necesarios. Estos puntos de conexión permiten que las máquinas virtuales de Azure recuperen la información de configuración e identidad necesaria para una operación adecuada.\n\nLas dos direcciones IP de Azure son:\n* 168.63.129.16 (consulte [Descripción general de la dirección IP de Azure 168.63.129.16](https://learn.microsoft.com/en-us/azure/virtual-network/what-is-ip-address-168-63-129-16?tabs=linux))\n* 169.254.169.254 (consulte [Azure Instance Metadata Service](https://learn.microsoft.com/en-us/azure/virtual-machines/instance-metadata-service?tabs=linux))\n\n## Usar un archivo.env para establecer la configuración del proxy\n\n> [!NOTE]\n> El uso de un `.env` archivo para establecer la configuración del proxy no se puede realizar en un ejecutor hospedado en GitHub.\n\nEn los agentes autohospedados, puede configurar las configuraciones de proxy agregando las variables a un archivo `.env` en el directorio de la aplicación del agente autohospedado (el directorio donde descargó y desempaquetó el software del agente). Este enfoque es útil cuando el runner está configurado para ejecutarse como servicio en una cuenta del sistema. Cuando se inicia el ejecutor, lee las variables establecidas en `.env` para la configuración del proxy.\n\n### Ejemplo de configuración de proxy `.env`\n\n```shell copy\nhttps_proxy=http://proxy.local:8080\nno_proxy=example.com,myserver.local:443\n```\n\n## Establecer la configuración del proxy para contenedores Docker\n\nSi usas las acciones del contenedor Docker o los contenedores de servicio en tus flujos de trabajo, es posible que también debas configurar Docker para usar tu servidor proxy además de establecer las variables de entorno anteriores.\n\nPara obtener información sobre la configuración de Docker necesaria, consulta [Configuración de Docker para usar un servidor proxy](https://docs.docker.com/network/proxy/) en la documentación de Docker."}