2015-09-02 15 views
11

Мне нужно получить доступ к локальной локальной среде (MAMP Pro) на устройстве. У меня это нормально работает для моего сайта без SSL, но я не могу заставить его работать на моем сайте, который требует SSL.Доступ к локальной среде dev на устройстве и в Charles Proxy и SSL?

Как моя локальная машина, так и мое устройство находятся в одной сети Wi-Fi. В настройках wifi на устройстве я настроил прокси-сервер HTTP на ручной, сервер - это мой IP-адрес для среды разработки, а порт по умолчанию - 8888 (хотя он по-прежнему работает, если я изменяю его на 8080).

Я уже установил запись виртуального хоста для local.site1.com в MAMP Pro. Этот url теперь работает как на моей локальной среде разработчиков, так и на устройстве.

Если я пытаюсь идти на мой SSL сайт на https://local.site2.com это работает на окружающую среду Дев, но устройство дает это сообщение:

Safari cannot open the page. 

Ошибка: "There was a problem communicating with the secure web proxy server (HTTPS).".

Charles Proxy, кажется, стандарт способ доступа к локальной среде разработки на устройстве с использованием имени домена, указанного в файле hosts, однако я рад использовать любое решение, которое работает.

ответ

1

Несомненно, OSX/iOS не нравится, когда вы вводите сертификат, потому что он не исходит от «надежного» источника, и он просто прямо убивает соединение.

Вы можете определить свой сертификат как исходящий из надежного источника с помощью Apple Configurator.

source

редактировать

  1. Откройте приложение Apple, конфигуратор и создайте новый конфигурационный файл (подготовить).
  2. На вкладке установки отключите «Обновление iOS», так как мы не хотим все это делать. Мы просто хотим ввести сертификат.
  3. Затем перейдите на вкладку «Установка» и в разделе «Настройки» вы выберите сертификат. (Поскольку мы не можем включить файл .pem в этот mobileconf, мы должны преобразовать наш корневой сертификат в файл .cert, и поскольку он уже находится в приложении для keychain, просто перейдите и экспортируйте его как .cert-файл где-нибудь, где вы можете легко найти его.
  4. В приложении Apple Configurator вы выбираете только что экспортированный корневой сертификат .cert и нажимаете mobileconfig на свой телефон/устройство через USB-кабель. (Вам будет предложено принять, что он устанавливается, поскольку он является «ненадежный» корневой сертификат, а затем вы выполните шаги, описанные создателем here, чтобы установить сертификат .pem на устройство.
  5. После этого вы можете настроить прокси-сервер так же, как и для прокси-сервера http в сетевые настройки и просмотреть весь зашифрованный трафик TLS на iOS 8
+0

Это не работает, но я не уверен, что я сделал что-то неправильно. С помощью Apple Configurator Ive создало новое имя под настройками, для обновления iOS установлено значение «Никогда не обновлять устройство». В разделе «Настройка» добавлен сертификат, который использует мой локальный хост. Назад в настройках Ive установил профиль на мое устройство (подключено через USB). Я не вижу никакой разницы на моем устройстве, и страница все еще не загружается. – Evans

+0

см. Редактирование с детальными действиями. – Pat

4

При использовании Чарльз, вам также необходимо установить свой сертификат:

IOS 4, а затем На устройстве установить HTTP-прокси, чтобы использовать Чарльз, а затем перейдите к http://www.charlesproxy.com/getssl для установки сертификата.

+0

Ive установил сертификат, но Safari все еще не может открыть страницу. – Evans

7

Вы пытались обновить или перезапустить его?Возможно, вам захочется перепроверить настройку HTTP-прокси вручную и проверить, что ваша локальная машина-разработчик и ваше устройство находятся в одной сети Wi-Fi. Кроме того, убедитесь, что ваш IP-адрес прав и прокси-сервер запущен.


Учтите, что если вы используете SSL для ваших данных запрашивает:

-Перейти к прокси -> Настройки прокси -> SSL -> Проверка «Включить SSL» и добавить хост и порт для вашего просит

-Вы также можете отключить Desktop и веб-прокси из выпадающего списка прокси, так что вы можете лучше изолировать приложение трафика


Вы можете отключить сотовые данные, чтобы обеспечить весь трафик проходит через Wi-Fi/Charles Proxy


Затем запустите Чарльз и перейдите на вкладку «последовательность» в верхней части окна, чтобы увидеть каждый вызов и статус поскольку они выполняются в режиме реального времени, включая размер ответа и продолжительность. Нажмите на запрос, чтобы просмотреть сведения в нижней панели, включая: Обзор, запрос, ответ & Резюме.

Удостоверьтесь, что вы изучаете варианты для разных типов данных. Например, если ваш ответ является изображением, вы можете увидеть фактическое изображение и размеры. Если ваше приложение использует JSON, у вас есть выбор JSON Tree Navigator, или вы можете «скопировать ответ», щелкнув правой кнопкой мыши запрос в верхней вкладке «Последовательность». Вставьте результаты во что-то вроде http://www.uize.com/examples/json-prettifier.html для удобства чтения.


во время запуска, проверьте эти:

1.Is ваше приложение делает разумное количество запросов данных, чтобы сбалансировать время запуска и упреждающей загрузки, чтобы ускорить «следующие страницы»?

2.Is любой запрос получает больше данных, чем необходимо?

3.Are время отклика высока из-за конфигурации сервера или плохо функционирующей серверной


ПРОВЕРКА ЭТИ ПРИ ИСПОЛЬЗОВАНИИ APP:

1.Is есть общий путь навигации, который медленно и может ли он выиграть от предварительной загрузки?

2.Is данные фактически поступают из кеша, а не инициируют новый запрос данных?

3.Вы отправляете какие-либо данные отслеживания (например, Omniture, Google Analytics или другие сторонние службы), и если да, то это правильно отправлено? Есть ли какие-либо запросы, сделанные ошибочно или неоднократно из-за ошибки кодирования?

4.Если вы обслуживаете видео, выбран правильный формат кодирования/формата? (Чарльз может дросселировать скорости, чтобы имитировать беспроводные телефонные соединения.) Изображения, соответствующие размеру устройства?

2

Charles Proxy

Чтобы использовать Charles Proxy для SSL необходимо установить Charles Proxy Root CA. Это связано с тем, что Charles Proxy фактически действует как MITM, чтобы вы могли реально смотреть на трафик SSL, создаваемый между вашим приложением и сервером (что может быть полезно при отслеживании проблем или когда вы хотите точно знать, сколько трафика создается).

См: http://www.charlesproxy.com/documentation/proxying/ssl-proxying/

и

http://www.charlesproxy.com/documentation/using-charles/ssl-certificates/

После ROOT CA устанавливается приложение и встроенный в браузер Safari должен быть в состоянии получить доступ к сайту.

Другая альтернатива

Другой способ, что я сделал это в прошлом, на самом деле использовать Dnsmasq который является довольно легкий DNS-сервер, который будет читать местные/и т.д./файл вашей системы хостов, а также вперед к серверу имен в resolv.conf, если он не находится в вашем файле hosts.

Вы можете установить dnsmasq через macports на вашем Macbook/laptop, (cygwin на windows), или обычно это довольно стандартный дистрибутив, в котором вы работаете * nix.

Как только вы запускаете dnsmasq, вы можете просто настроить свое устройство через Settings/Wifi, чтобы указать на ваш сервер dnsmasq для разрешения имен. Пока ваш сайт находится в вашем/etc/hosts, и у вас нет вашего шлюза блокировки брандмауэра 53 (DNS), тогда вы должны быть хорошими.

Я использую dnsmasq большую часть времени, но Charles Proxy пригодился, когда я пытался ДЕЙСТВИТЕЛЬНО отследить, сколько данных было использовано из моего приложения (для меня было специфическим требованием было то, что приложение было добрым киоска, который должен был оставаться под 3 МБ использования в день, чтобы мы не получали огромные счета сотовой связи).

 Смежные вопросы

  • Нет связанных вопросов^_^