Squidman, iOS 기기, SSL 및 Docker


1

iOS 기기에서 다른 nginx Docker 컨테이너 (SSL을 관리하는 역방향 프록시) 뒤에있는 Docker 컨테이너에서 실행중인 웹 사이트와 API에 모두 액세스하려고합니다.

그래서 나는 가지고있다:
1 IP를 가진 iOS 장치 192.168.178.57
IP가있는 MacBook Pro 1 개 192.168.178.64
nockx가 2 개있는 1 개의 Docker 컨테이너 server_name 설정 : app.devapi.dev, 둘 다 자체 서명 된 SSL 인증서 사용 /etc/hosts points에는 다음 항목이 있습니다.

192.168.178.64 app.dev
192.168.178.64 api.dev

~/proxy.pac 다음 항목이 포함되어 있습니다.

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이 포트에 구성되었습니다. 9090 허용 된 클라이언트는 192.168.178.0/24.

스쿠 만 템플릿을 사용하면 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%

iOS 기기 프록시는 다음과 같이 구성됩니다. 192.168.178.64, 포트 9090.

맥북 네트워크 Automatic Proxy Configuration ~을 가리킨다. ~/proxy.pac 파일.

iOS 웹 사이트에서 웹 사이트를 탐색 할 수 있습니다. http://apple.com .

나는 탐색 할 수있다. https://app.dev 전화 https://api.dev MacBook에서.

나는 못 찾는다. https://app.dev 전화하지 말라. https://api.dev iOS 기기에서.

내가 뭘 잘못하고 있죠?


이미 이것을 사용해 보았습니다. /etc/hosts 하지만 /private/etc/hosts/ 그것을 고치지도 않았다.
Alexander Zeitler

문제를 이해할 수 있도록 가상 환경에 설치하겠습니다.
klanomath

리버스 프록시 (SSL) 도커 이미지 (사용 했습니까?)와 다른 두 개의 nginx 도커 이미지를 설치하는 빠른 설치 가이드 (또는 다른 지침)가 있습니까?
klanomath

체크 아웃 xip.io 다음 번에 - 프록시, 컨테이너, VM 및 테스트 할 장치에 필요한 라우팅 할 수없는 모든 IP에 대해 FQDN을 사용하는 것이 훨씬 쉽습니다.
bmike

답변:


1

이 Docker 컨테이너를 사용하여 문제를 해결했습니다. https://github.com/jpillora/docker-dnsmasq

지침을 따르고 예를 들면 다음을 추가하십시오. 127.0.0.1 app.dev127.0.0.1 api.dev 너의 ~에게 /etc/hosts.

그런 다음 macOS 및 iOS 장비의 DNS를 다음으로 변경하십시오. 192.168.178.64 (초기 질문 다음).


0

[ 보류 중 (특정 상황에서는 답이 맞지만 때로는 틀린 경우도 있음) - 공사중 ]

iOS는 api.dev와 app.dev가 어디에 있는지, 그리고 어떤 단서인지 없습니다. hosts 파일의 항목은 로컬 호스트에만 유효합니다.

iOS 기기를 jailbreaking하지 않고 iOS 호스트 파일을 수정할 수 없으므로 MacBook Pro에 DNS 서버 (예 : brew + dnsmasq)를 설정하고 iOS의 DNS 설정을 지정해야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.