Squidman, dispositivi iOS, SSL e Docker

1

Desidero accedere a un sito Web ea un'API sia in esecuzione nei contenitori Docker dietro un altro contenitore Docker nginx (reverse proxy che gestisce SSL) da un dispositivo iOS.

Quindi ho:
1 dispositivo iOS con IP 192.168.178.57
1 MacBook Pro con IP 192.168.178.64
1 contenitore Docker che esegue nginx con due impostazioni server_name : app.dev e api.dev , entrambi con certificati SSL autofirmati /etc/hosts punti ha queste voci:

192.168.178.64 app.dev
192.168.178.64 api.dev

~/proxy.pac contiene queste voci:

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 è configurato sulla porta 9090 e i client consentiti sono 192.168.178.0/24 .

Il modello di Squidman consente l'accesso 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%

Il proxy del dispositivo iOS è configurato come 192.168.178.64 , porta 9090 .

Il Automatic Proxy Configuration delle reti MacBook punta al file ~/proxy.pac .

Posso sfogliare siti Web dal sito web iOS come link .

Posso sfogliare link e chiamare link dal MacBook.

Non riesco a sfogliare link né a chiamare link dal dispositivo iOS .

Che cosa sto sbagliando?

    
posta Alexander Zeitler 18.03.2017 - 18:14
fonte

2 risposte

1

L'ho risolto utilizzando questo contenitore Docker: link

Segui semplicemente le istruzioni e aggiungi per es. 127.0.0.1 app.dev e 127.0.0.1 api.dev al tuo /etc/hosts .

Quindi modifica il DNS sul dispositivo macOS e iOS su 192.168.178.64 (seguendo la domanda iniziale).

    
risposta data 18.03.2017 - 21:34
fonte
0

[ in attesa (la risposta è giusta in determinate circostanze ma a volte sbagliata) - in costruzione ]

iOS non ha idea di dove e quali siano api.dev e app.dev. Le voci nel file hosts sono valide solo per l'host locale.

Dato che non puoi modificare il file hosts di iOS senza jailbreak del dispositivo iOS devi configurare un server DNS (ad es. brew + dnsmasq) su MacBook Pro e puntare le impostazioni DNS di iOS su di esso.

    
risposta data 18.03.2017 - 18:59
fonte

Leggi altre domande sui tag