Estoy teniendo un problema en el que Siri no puede conectarse a sus servidores detrás de nuestra conexión de proxy corporativo. Lo interesante es que esto no es un problema en nuestros iPhones detrás del mismo proxy.
¿Alguna idea?
Estoy teniendo un problema en el que Siri no puede conectarse a sus servidores detrás de nuestra conexión de proxy corporativo. Lo interesante es que esto no es un problema en nuestros iPhones detrás del mismo proxy.
¿Alguna idea?
Administro un proxy Squid para mi organización y cuando trato de usar Siri en Sierra, se registran las siguientes entradas de registro:
1474540244.610 0 macos-sierra-host.local TAG_NONE/400 4410 NONE error:invalid-request - HIER_NONE/- text/html
No estoy completamente seguro de lo que está solicitando, así que supongo que es hora de romper el tcpdump-hammer. Informaré si tengo más ideas.
EDIT 1 - 22-Sep-2016 10:58 UTC
Parece que Siri no está utilizando una URL válida al realizar la solicitud a través de un proxy. Aquí están los encabezados HTTP de Squid después de intentar una conexión Siri:
HTTP/1.1 400 Bad Request
Server: squid/3.5.20
Mime-Version: 1.0
Date: Thu, 22 Sep 2016 10:42:01 GMT
Content-Type: text/html;charset=utf-8
Content-Length: 4064
X-Squid-Error: ERR_INVALID_REQ 0
Vary: Accept-Language
Content-Language: en
X-Cache: MISS from proxy.local
Via: 1.1 proxy.local (squid/3.5.20)
Connection: close
Los detalles en el mensaje de error (enviados desde Squid pero nunca vistos por el usuario) son:
Se encontró un error de solicitud no válida al intentar procesar el solicitud:
&# 22;&# 3;&# 1;
Algunos problemas posibles son:
- Método de solicitud faltante o desconocido.
- Falta el identificador de HTTP (HTTP / 1.0).
- La solicitud es demasiado grande.
- Falta la longitud del contenido para las solicitudes POST o PUT.
- Carácter ilegal en el nombre de host; los guiones bajos no están permitidos.
- HTTP / 1.1 Expect: la función se solicita desde un software HTTP / 1.0.
Entonces, parece un poco más de tcpdump-hammer en mi futuro mientras trato de encontrar cómo se ve este requisito original (hacia dónde se dirige, etc.). Estad atentos.
EDIT 2 - 22-Sep-2016 11:16 UTC
El problema es que Siri está usando TCP / 443 pero no usa HTTPS. En consecuencia, un proxy HTTP como Squid se ahogará con estas conexiones. La buena noticia es que he identificado que las conexiones salientes de Siri están resolviendo un registro A para origin.guzzoni-apple.com.akadns.net
y luego se conectan a él en el puerto 443. En este punto, se inicia un protocolo de enlace TLS y el resto se cifra. Entonces, gracias a Apple por cifrarlo, pero a FU por usar un puerto reservado para el tráfico no HTTPS. En serio, ¿¡WTF ?!
Aquí hay una solución
He hurgado en muchas ( muchas ) consultas DNS y parece que todas resuelven origin.guzzoni-apple.com.akadns.net
en el rango de direcciones 17.252.0.0/16
. Esta es una porción del rango más amplio de 17.0.0.0/8
de Apple. Esto debería permitirle enviar cualquier cosa destinada a 17.252.0.0
directo (ya sea a través de la configuración de proxy o PAC / WPAD). Desafortunadamente, esto también puede engullir otro tráfico que no desea que no pase por su proxy también: - /
Hasta que Apple decida usar un protocolo HTTPS real para Siri en Sierra o, use un puerto diferente (a diferencia del secuestro actual de TCP / 443!), estamos bastante jodidos.
No es tanto una respuesta como un "dónde comenzar a buscar" ...
Hay una lista completa de números de puerto utilizados por Apple en
Apple KB: puertos TCP y UDP utilizados por los productos de software de Apple
[demasiado para copiar aquí]
También puedes abrir prácticamente todo el espacio de direcciones 17.x.x.x, ya que es propiedad de Apple.
Afirma que Siri solo necesita el puerto 443, https / SSL [lo cual me imagino que estaría abierto de todos modos]
Puedo confirmar los hallazgos de James en mi organización: Siri (macOS) solo funciona con el proxy desactivado. Estamos utilizando un producto proxy diferente (a través del archivo PAC, FYI), pero con los mismos resultados. Probado utilizando la versión pública de macOS Sierra 10.12.2 (16C68).
@Tetsujin - A pesar del "8 de enero de 2017", Apple no lo ha actualizado para incluir "Siri (macOS)"; actualmente solo especifican "Siri (iOS)". Parafraseando el comentario de James, "esta no es la Siri de tu iPhone".
También, si sus registros de Squid son correctos y origin.guzzoni-apple.com.akadns.net
es lo que Siri (macOS) utiliza; entonces la exención de comodín para el 17.0.0.0/8 de Apple sería discutible (según el dominio "akadns.net").
Me las arreglé para hacer que funcionara poniendo privoxy delante del calamar. No tengo idea de por qué funciona, no importa, pero funciona de manera confiable. Puedo compartir archivos de configuración si quieres. Intenté WPAD / PAC antes, pero Siri no cumple y pasa por el calamar de todos modos.