transparente squid3 servidor paso instalar configurar javascript google-chrome-extension xmlhttprequest squid

javascript - squid3 - proxy transparente squid ubuntu



POST Absolute URI se envĂ­a al servidor por XmlHttpRequest cuando se usa el proxy Squid3 (1)

Para utilizar la API XHR desde su extensión de Chrome, debe solicitar el permiso para el host de destino especificando su URL en el atributo de manifiesto "permissions" . Por ejemplo, si el host de destino (al que desea enviar la solicitud de XHR ) es http://www.example.org , su manifiesto debe contener las siguientes líneas de código.

... "permissions" : { "http://www.example.org", ... }

Si ya lo ha hecho, obviamente, el error está en la parte de back-end. También lea sobre los patrones de coincidencia para permitir la coincidencia de varias URL utilizando una sola cadena, por ejemplo, *://www.example.org/* .

He enfrentado un problema extraño ahora con el envío de solicitudes http desde la extensión de Chrome que estoy desarrollando (JavaScript normal) Esta es una solicitud POST con XmlHttpRequest (de background.js ) con url como:

http://host.com/postform/upload

También envío esta solicitud desde la página web normal (no la extensión de Chrome), y el bit importante es que si abro las Herramientas del desarrollador y reviso la pestaña Red para mi solicitud (seleccionando la visualización de encabezados sin formato) veo el primer encabezado allí:

POST /postform/upload HTTP/1.1

Y funciona bien antes de habilitar el proxy en lugar de una conexión directa. Yo uso squid3 en mi Ubuntu para esto. Solo una cosa es diferente entre las solicitudes cuando se usa proxy, y hace que el servidor HTTP devuelva 404 no encontrado , solo cuando se usa proxy ...

Cuando obligo a Chrome a trabajar con mi proxy basado en squid3 (uso el script PAC para esto en mi extensión de Chrome), mi solicitud no funcionará. Revisé muchas veces e hice todo lo posible para reducir cualquier diferencia en el cuerpo de la solicitud, y todo lo que me queda por ahora es el primer encabezado.

Se ve así cuando se envía una solicitud con el proxy activo (desde la pestaña Red de Herramientas del desarrollador, abierta desde la página de fondo ):

POST http://host.com/postform/upload HTTP/1.1

He intentado usar la API de chome.webRequest.onBeforeSendHeaders, pero eso no ayudó. También intenté eliminar el nombre de host de la URL en XmlHttpRequest.open, pero esto no ayudó.

Sí, estoy enviando los encabezados de origen y origen correctos en cualquier caso. ¿Podría ser esto un problema en mi configuración de squid3, o qué debo cambiar en mi javaScript?

ACTUALIZACIÓN Se dio cuenta de que el calamar no es el problema de ninguna manera, y el problema es que la solicitud POST contiene uri COMPLETO ( http: // ... ) en lugar de "ruta". GET funciona bien. Me está matando.

No puedo usar soluciones iframe . Cual es mi problema