Каталог Поиск 0 Сравнить 0 Закладки 0 Корзина Войти
Каталог
105082, Москва, ул. Фридриха Энгельса, 75с21, БЦ Бауманский ИТКОЛ
Пн - Пт: с 09-00 до 18-00 Сб: с 10-00 до 18-00 Вс: выходной
Страницы: 1 2 След.
RSS
Авторизация с внешнего портального сервера очень медленная., UniFi Network
 
Я использую внешний сервер портала, который авторизует пользователей через JSON API. По какой-то причине, авторизация новых гостей занимает больше минуты. Почему это так медленно?! Когда я выбираю 'No authentication', гость авторизуется меньше чем за секунду. Было бы здорово, если бы я мог поговорить/пообщаться с кем-нибудь из Unifi по этому поводу.
 
У меня та же проблема с последним прошивка контроллера (3.8.15). Вы уже нашли какое-нибудь решение? Порт 3478 открыт, и удалённый веб-сервер видит его как "STUN". Так что проблем с этим нет… У меня стандартная установка Apache2, ничего необычного.
 
Я столкнулся с этой проблемой по двум причинам: моя конфигурация — Nginx выступает в качестве прокси от файрвола к экземпляру UniFi Controller. Я использовал внешний portal server. Чтобы решить эту проблему, нужно сделать две вещи: в Nginx убедитесь, что заголовок X-Forwarded-For установлен так, чтобы UniFi знал, откуда идёт соединение, и в файрволе перенаправьте порт UDP 3478 на ваш экземпляр UniFi, потому что контроллер использует адрес inform в качестве адреса STUN для AP. Когда STUN приходит, он теперь может отправить соответствующие изменения обратно по этому "туннелю" непосредственно на AP, отсюда и моментальная авторизация.
 
Я изначально пытался, но это не решило проблему с авторизацией скорости. Всё равно оставалось случайным, сколько времени уходит, чтобы достичь устройства.
 
Привет,
@zeus, если ты используешь no-auth, можешь также использовать оригинальный запрос authorize-guest с помощью curl из раздела «api». Загляни в мой пост на первой странице.
 
Ну что, после долгих дней головной боли, пытался починить этот медленный процесс авторизации на гостевом портале. Сейчас у меня авторизация отключена (настроено перенаправление на оригинальный URL - ниже это настроено), и авторизация происходит через веб-сервер на PHP на /guest/s/sitename/login, отправляя POST-переменную accept-tou=yes. И нужно настроить Referer, чтобы в нем было id=usermacaddress&ap=apmac&url=urlwhereyouwanttosenduser.
$unifiServer = 'https://controller:9843/guest/s/' .$siteid. '/login';
$refer = 'https://doesntreallymatter/guest/s/' .$siteid. '?id=' .$usermac. '&ap=' .$apmac. '&url=' .$url;
$ch = curl_init();
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_REFERER, $refer);
curl_setopt($ch, CURLOPT_SSLVERSION, 1);
curl_setopt($ch, CURLOPT_URL, "$unifiServer");
curl_setopt($ch, CURLOPT_POSTFIELDS, "accept-tou=yes");
$return = curl_exec ($ch);
curl_close ($ch);
 
Только что попробовал использовать внутренний портал, и авторизация устройства прошла почти мгновенно. Один и тот же контроллер, одно и то же устройство, одна и та же точка доступа… Файл журнала показывает: [2014-09-24 17:28:23,304] <http-bio-8880-exec-1> WARN guest - authorize guest[88:30:8a:61:0f:fc] on ap[dc:9f:db:98:84:8d].
 
ticket: 131319)
 
@UBNT-DavidQ, я не использую тестовый код портала. Постараюсь прислать свой код, если найдется время.
 
Привет,

@ordos,

К сожалению, в контроллере или точках доступа на v3.2.5 исправления нет. Фикс находится в коде образцового портала, как я и объяснял. Если после адаптации к новому коду образцового портала у вас все еще возникают проблемы, пожалуйста, откройте заявку в Zendesk и предоставьте код вашего портала и резервную копию файла для рассмотрения.

Спасибо,
DavidQ.
 
Привет, Utilis, у меня та же проблема с моим "хаком".

@UBNT-DavidQ

А как это именно исправлено в новой версии?
 
Привет, Дерек,

В версии 3.2.5 программного обеспечения нет исправления для этой проблемы. В некоторых случаях решение — обновить до нового кода из образцового портала с ap_mac, как ты и указал. Мы с удовольствием рассмотрим твой внешний портальный код. Пожалуйста, открой тикет и прикрепи свой портальный код вместе с файлом резервной копии, чтобы мы могли помочь тебе в его рассмотрении. Добавь номер тикета здесь, чтобы я мог сопоставить тикет с тобой.

Спасибо,
DavidQ.
 
Привет, мы терпеливо ждали выхода версии 3.2.5. Обновились и разочарованы тем, что проблема с медленной внешней авторизацией все еще присутствует. Пример из файла журнала показывает, что используется метод INFORM для получения команды от контроллера, а не отправляется сразу по каналу UDP… Мы используем php curl для отправки команды авторизации и включаем ap_mac в строку, как рекомендовано в предыдущих постах. Может ли кто-нибудь из Ubiquiti подтвердить, что должно быть в файле журнала, когда авторизация отправляется непосредственно на AP через UDP/STUN-канал? Отображается ли INFORM или что-то другое? [2014-09-24 16:51:51,395] <http-bio-8080-exec-10> WARN inform - <<< [cmd authorize-guest] dev[dc:9f:db:98:84:8d] { "_id": "5422e88fe4b03eea0c19d6bd", "_type": "cmd", "cmd": "authorize-guest", "datetime": "2014-09-24T15:51:43Z", "device_id": "53a9b0b1e4b079d412e96c91", "mac": "88:30:8a:61:0f:fc", "server_time_in_utc": "1411573911395", "time": 1411573903430} Спасибо,Дерек
 
Привет,

@UBNT-DavidQ,

...просто из любопытства, была ли реальная причина вызывать shell-скрипт для выполнения curl-запросов вместо использования соответствующих PHP curl-функций?
 
Привет, Джейсон!

Я взял в работу этот тикет. Будем разбираться с ним дальше и затем отчитаемся на форуме о решении твоей конкретной проблемы.

Спасибо!
DavidQ.
 
Привет, DavidQ! Я создал заявку, номер 123755, но немного застрял. Было бы неплохо, если бы её немного продвинули. Код пока не загружал. Пока всё, Jason.
 
У меня та же проблема с развертыванием. Проверяя логи сервера, увидел, что команда authorize по-прежнему проходит через метод INFORM. WARN inform - <<< [cmd authorize-guest] dev[04:18:d6:0a:31:71] { "_id": "53e31805e4b02bfa12b54d1a", "_type": "cmd", "cmd": "authorize-guest", "datetime
 
Привет, Джейсон!

1. Есть ли эта функциональность реально в API на 3.2.1?
  ==> Да, уже есть в 3.2.1. Это только для внешнего портала.

2. Означает ли использование ap_mac, что гость *только* аутентифицирован к этому конкретному AP?
  ==> Нет. Аутентификация происходит на уровне контроллера. Сначала должно произойти взаимодействие для получения информации (авторизация с вашего внешнего портала обратно на контроллер). Если мы используем обычный метод inform, то время меняется с увеличением количества AP, что вызывает задержку (что видели несколько человек). Но с AP_mac это обходит inform (и его задержку) и идет напрямую на AP.

Было бы хорошо, если бы вы открыли заявку через нашу поддержку по электронной почте и загрузили туда код вашего внешнего портала и ваш резервный файл. Затем укажите номер вашей заявки здесь, чтобы я мог посмотреть вашу заявку и проверить ваш код.

Спасибо,
Дэвид
Q.
 
Привет, DavidQ!

Спасибо за примеры кода. Я реализовал их в нашем портальном решении, но, кажется, это никак не влияет на ситуацию. Два вопроса:

1. Эта функциональность действительно есть в API на версии 3.2.1?
2. Означает ли использование ap_mac, что гость аутентифицирован *только* к этой конкретной точке доступа?

Удачи,
Jason.
 
Привет,

@ordos, я не могу комментировать твой случай/настройку, потому что ты мне ничего не прислал, чтобы я посмотрел. Однако, в случае с Адамом, он предоставил свои файлы, мы их просмотрели и добавили ap_mac, и это решило его проблему. Твоя проблема может быть совершенно другой. Я также работаю с FiberDave над его проблемой, и ap_mac там тоже не решает. Однако, у него проблема в том, что даже ручная авторизация не работает, так что это вообще не связано с кодом портала. Поэтому я не могу сказать, в чем у тебя проблема. Если хочешь, чтобы мы помогли, открой тикет и пришли свои файлы в этот тикет для рассмотрения. Спасибо, DavidQ.
Страницы: 1 2 След.
Читают тему (гостей: 1)