Cambiar idioma
Español English Русский Deutsch Français Italiano Українська Tiếng Việt Türkçe Bahasa Indonesia हिन्दी 日本語 中文
Menú
Precios
Proxies
TIPOS DE PROXY
POR UBICACIÓN77 ubicaciones
Soluciones
Recursos

Cómo usar un proxy solo para ciertos sitios en Chrome

Contenido
  1. ¿Tiene Chrome un ajuste de proxy por sitio?
  2. ¿Qué hace un script PAC?
  3. ¿De qué formas puedo darle a Chrome un script PAC?
  4. ¿Puede cada pestaña usar un proxy distinto?
  5. ¿Por qué falla en sitios HTTPS una regla con ruta?
  6. ¿Qué forma conviene elegir?
  7. Respuestas rápidas

En resumen: Chrome en el escritorio no tiene ningún ajuste que aplique un proxy a sitios concretos. Usa una sola configuración de proxy para toda la navegación, tomada del sistema operativo, de un parámetro de inicio, de una política del administrador o de una extensión. Para enviar solo algunos sitios por un proxy, Chrome necesita un script PAC, una función corta que elige un proxy para cada petición y que escribes tú o que una extensión genera a partir de reglas.

Para usar un proxy en sitios concretos en Chrome, le das al navegador un script PAC que nombra esos sitios, y Chrome lo consulta en cada petición. El script puede venir de tres lugares: tu sistema operativo, un Chrome iniciado aparte o una extensión.

¿Tiene Chrome un ajuste de proxy por sitio?

No. La página de ajustes de Chrome tiene una sola entrada de proxy, con el texto «Open your computer’s proxy settings» (abrir los ajustes de proxy del ordenador), y Chromium describe esos ajustes como aplicables a todo el ordenador (cadenas de ajustes de Chromium).

Las notas de Chromium sobre proxies enumeran cuatro lugares de los que Chrome puede tomar su configuración de proxy: una política del administrador, parámetros de la línea de comandos, una extensión y el sistema operativo. El que esté en vigor aporta una sola configuración para todo lo que carga el navegador, y una decisión por sitio vive dentro de esa configuración como un script PAC.

¿Qué hace un script PAC?

Un script PAC (configuración automática de proxy) es una función de JavaScript llamada FindProxyForURL. Chrome la llama en cada petición con la dirección y el nombre del host, y usa la cadena que devuelve: DIRECT para no usar proxy, o PROXY host:port para un servidor proxy, como documenta la referencia de PAC de MDN.

Este script envía un dominio y sus subdominios por un proxy y todo lo demás directo. La dirección del proxy sale de un rango reservado para documentación (RFC 5737); pon la tuya en su lugar.

function FindProxyForURL(url, host) {
  if (host === "example.com" || dnsDomainIs(host, ".example.com")) {
    return "PROXY 203.0.113.10:8080";
  }
  return "DIRECT";
}

Añade una condición por cada sitio que quieras enviar por el proxy. El return final decide qué pasa con todos los sitios que no están en la lista.

¿De qué formas puedo darle a Chrome un script PAC?

Tres: con los ajustes de proxy del sistema, con un Chrome iniciado aparte o con una extensión. Se diferencian en a qué parte del ordenador afectan y en cómo se aplica un cambio.

Con los ajustes de proxy del sistema

En Windows, los ajustes de proxy tienen una opción de script de configuración que recibe la dirección del script, como muestra la guía de Microsoft, y Chrome sigue el ajuste del sistema. El script tiene que estar accesible en una URL. Todas las aplicaciones que leen los ajustes de proxy del sistema lo usarán también, así que esto conviene para un script pensado para todo el equipo.

En una instancia aparte de Chrome

Chrome acepta parámetros de proxy al iniciarse, enumerados en la página de ajustes de red de Chromium: --proxy-server nombra un proxy, --proxy-bypass-list nombra los hosts que se lo saltan y --proxy-pac-url apunta a un script. Iniciado con su propio --user-data-dir, el segundo Chrome funciona junto al habitual, ya que dos instancias en ejecución no pueden compartir un directorio de datos (notas de Chromium sobre el directorio de datos de usuario).

google-chrome --user-data-dir="$HOME/chrome-proxied" --proxy-server="http://203.0.113.10:8080"

Esa instancia envía todo su tráfico por el proxy, así que la ventana en la que abres un sitio decide su ruta. Cambiar el proxy significa cerrar la instancia y volver a iniciarla con otros parámetros.

Con una extensión de proxy

Una extensión fija el proxy de Chrome para el perfil en el que está instalada, mediante la API chrome.proxy, y un selector con reglas las compila en un script PAC. Nuestro ProxyJam Connector, gratuito, funciona así, en Chrome y en Microsoft Edge:

  1. Añade un perfil con el host, el puerto y el protocolo del proxy.
  2. Añade una regla, por ejemplo «Domain + subdomains» (dominio y subdominios) con example.com, que apunte a ese perfil. Gana la primera regla que coincide con un sitio.
  3. Deja el fallback (alternativa) en Direct (directo) para que los sitios que no coinciden con ninguna regla se conecten sin proxy.
  4. Elige Auto (automático) en la ventana emergente de la barra de herramientas.

Para un sitio que coincide, el script de Connector nombra ese único proxy, sin opción directa detrás. Si el proxy no responde, el sitio no carga y tu propia dirección nunca se usa para él.

¿Puede cada pestaña usar un proxy distinto?

En Chrome, no. La API chrome.proxy guarda un solo valor por perfil y no acepta una pestaña como parámetro, así que una pestaña no tiene nada propio que fijar.

La unidad que funciona es un perfil o una instancia. Crea un segundo perfil de Chrome para el trabajo con proxy e instala allí la extensión, o inicia una segunda instancia con sus propios parámetros, y ten las dos ventanas una al lado de la otra. Así cada ventana lleva su propio proxy.

¿Por qué falla en sitios HTTPS una regla con ruta?

Chrome solo le da a un script PAC el esquema, el host y el puerto de una dirección https://. La ruta, la consulta y el fragmento se eliminan desde Chrome 52, y la opción que desactivaba esto se retiró en Chrome 75 (notas de Chromium sobre proxies).

Una regla como example.com/shop/* no coincide, por tanto, con ninguna página HTTPS. Escribe las reglas sobre el nombre del host, y dale a una sección de un sitio su propio subdominio si necesita su propia ruta. Las direcciones http:// simples todavía llegan al script con su ruta, aunque Chromium desaconseja depender de ello. Connector muestra un aviso junto a cualquier regla que dependa de la ruta.

¿Qué forma conviene elegir?

Para unos pocos sitios y un solo proxy, una extensión es lo que menos trabajo da, y la página de la extensión enumera lo que Connector puede y no puede hacer en Chrome. Un proxy que pide contraseña se trata en por qué Chrome sigue pidiendo el usuario y la contraseña del proxy, y el traslado de reglas desde un selector antiguo, en qué cambió con Manifest V3. Cómo configurar un perfil y un proxy por país para comprobar cómo se ve tu propio sitio en cada mercado se explica en ver tu sitio web desde otro país.

Si el proxy por el que envías esos sitios debe mantener una dirección en la red de un proveedor de internet, eso es lo que es un proxy ISP. ProxyJam vende proxies residenciales estáticos (ISP) en la página de proxies ISP, con los precios en la página de precios.

De dónde sale el enrutamiento y a qué afecta cada forma

El alcance sale de la documentación de Chromium sobre dónde se leen los ajustes de proxy y de las descripciones de los propios parámetros; el resto se deduce de cómo se configura cada método. No hemos hecho mediciones de velocidad ni de fiabilidad. Siempre que un script PAC decide la ruta, Chrome le pasa una dirección HTTPS reducida al esquema, el host y el puerto.
Ajustes de proxy del sistemaUna instancia aparte de ChromeUna extensión de proxy
A qué afectaA todas las aplicaciones del ordenador que leen los ajustes del sistemaSolo a las ventanas de esa instanciaAl perfil de Chrome en el que está instalada la extensión
Cómo se eligen los sitiosCon un script PAC alojado en una URLSegún la ventana en la que abras el sitioCon reglas que la extensión convierte en un script PAC
Cambiar la configuraciónEditar el script alojadoCerrar y volver a iniciar con otros parámetrosEditar una regla en la extensión
Un proxy que pide contraseñaChrome la pide en un cuadro de diálogoChrome la pide en un cuadro de diálogoLa extensión puede responder por los proxies HTTP y HTTPS

Confirma qué ruta tomó un sitio

  1. Pon una página de comprobación en la lista durante un minuto

    Añade proxyjam.com a los sitios que tu script o tus reglas envían por el proxy, junto a los sitios que te interesan.

  2. Abre la página de comprobación

    Cuál es mi IP muestra la dirección que llegó a ella y el proveedor de internet y la red (ASN) a los que pertenece esa dirección. Los dos deben ser los del proxy.

  3. Quítala de la lista y recarga

    La página debería mostrar ahora tu propia conexión. Si las dos lecturas son las esperadas, los sitios de la lista pasan por el proxy y el resto va directo.

Respuestas rápidas

¿La lista de exclusiones de Chrome hace lo mismo?

Hace lo contrario. El parámetro --proxy-bypass-list nombra los hosts que se saltan el proxy, y solo tiene efecto junto con --proxy-server, así que todo lo que no está en la lista pasa por el proxy. Para enviar por el proxy una lista corta de sitios y dejar el resto directo, usa un script PAC.

¿Las ventanas de incógnito usan el mismo proxy?

Sí, por defecto. La documentación de la API de proxy de Chrome dice que las ventanas de incógnito heredan los ajustes de las ventanas normales, y una extensión puede fijar un valor aparte para incógnito cuando lo necesita.

¿Por qué Chrome dice que usa la configuración de proxy de una extensión?

Una extensión ha fijado el proxy, y Chrome deja que una extensión o una política del administrador determinen ese ajuste en lugar del del sistema. Desactiva la extensión, o ponla en directo, para devolver el control.

¿Qué pasa con los sitios que no coinciden con ninguna regla?

Reciben lo que devuelva el script al final. En el script de ejemplo es DIRECT, así que los sitios sin coincidencia se conectan sin proxy. ProxyJam Connector llama a esto fallback (alternativa) y lo deja en Direct (directo) hasta que elijas otra cosa. Extensión de navegador

Fuentes