1 votos

Squidman, dispositivos iOS, SSL y Docker

Quiero acceder a un sitio web y a una API que se ejecutan en contenedores Docker detrás de otro contenedor Docker nginx (proxy inverso gestionando SSL) desde un dispositivo iOS.

Así que lo he hecho:
1 dispositivo iOS con IP 192.168.178.57
1 MacBook Pro con IP 192.168.178.64
1 contenedor Docker ejecutando nginx con dos server_name ajustes: app.dev y api.dev , ambos con certificados SSL autofirmados /etc/hosts puntos tiene estas entradas:

192.168.178.64 app.dev
192.168.178.64 api.dev

~/proxy.pac contiene estas entradas:

function FindProxyForURL(url, host){
  if (shExpMatch(host, "app.dev")) {
    return "PROXY app.dev:443; DIRECT";
  }
  if (shExpMatch(host, "api.dev")) {
    return "PROXY api.dev:443; DIRECT";
  }
  return "DIRECT";
}

Squidman está configurado en el puerto 9090 y los clientes permitidos son 192.168.178.0/24 .

La plantilla Squidman permite el acceso a localhost

# protect web apps running on the proxy host from external users
# http_access deny to_localhost

# rules for client access go here
http_access allow localhost
%HTTPACCESSALLOWED%

El proxy del dispositivo iOS está configurado como 192.168.178.64 , puerto 9090 .

Las redes de MacBooks Automatic Proxy Configuration señala el ~/proxy.pac archivo.

Puedo navegar por sitios web desde el sitio web de iOS como http://apple.com .

Puedo navegar https://app.dev y llamar a https://api.dev del MacBook.

No puedo navegar https://app.dev ni llamar https://api.dev desde el dispositivo iOS.

¿Qué estoy haciendo mal?

0 votos

Ya lo he intentado con /etc/hosts pero usando /private/etc/hosts/ tampoco lo arregló.

0 votos

Voy a montarlo en un entorno virtual para comprender tu problema

0 votos

¿Tienes una guía de configuración rápida (u otras instrucciones) para instalar la imagen docker del proxy inverso (SSL) (¿cuál usaste?) y las otras dos imágenes docker de nginx?

1voto

Alexander Zeitler Puntos 131

Lo resolví usando este contenedor Docker: https://github.com/jpillora/docker-dnsmasq

Sólo tienes que seguir las instrucciones y añadir, por ejemplo 127.0.0.1 app.dev y 127.0.0.1 api.dev a su /etc/hosts .

A continuación, cambie el DNS en el MacOS y el dispositivo iOS a 192.168.178.64 (tras la pregunta inicial).

0voto

klanomath Puntos 19587

[ en espera (la respuesta es correcta en determinadas circunstancias, pero a veces es errónea) - en construcción ]

iOS no tiene ni idea de dónde y qué son api.dev y app.dev. Las entradas en el archivo de hosts son válidas sólo para el host local.

Como no puedes modificar el archivo de hosts de iOS sin hacer jailbreak al dispositivo iOS, tienes que configurar un servidor DNS (por ejemplo, brew + dnsmasq) en tu MacBook Pro y apuntar la configuración DNS de iOS a él.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X