Информация
Услуги
  • Внедрение
  • Настройка
  • Поддержка
  • Ремонт
Контакты
Новинка
Распродажа
Новости
Доставка
Оплата
Загрузки
  • Прошивки
    • WinBox
    • RouterOS
    • Мобильные приложения MikroTik
    • Архив
  • RouterOS
  • Мобильные приложения MikroTik
  • Архив
Форум
Настройка
    info@mikrotik.moscow
    +7 495 320-55-52
    Заказать звонок
    Mikrotik.moscow
    Каталог
    • Акции
      Акции
    • Маршрутизаторы
      Маршрутизаторы
    • Коммутаторы
      Коммутаторы
    • Радиомосты и уличные точки доступа
      Радиомосты и уличные точки доступа
    • Wi-Fi для дома и офиса
      Wi-Fi для дома и офиса
    • LTE/5G
      LTE/5G
    • Powerline адаптеры
      Powerline адаптеры
    • IoT устройства
      IoT устройства
    • Оборудование 60 ГГц
      Оборудование 60 ГГц
    • Материнские платы RouterBOARD
      Материнские платы RouterBOARD
    • Корпуса
      Корпуса
    • Интерфейсы
      Интерфейсы
    • SFP/QSFP трансиверы
      SFP/QSFP трансиверы
    • Аксессуары
      Аксессуары
    • Антенны
      Антенны
    • Архив
      Архив
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Скачать WinBox Скачать Прошивки Форум > RouterOS Форум > SwOS Форум > Железо
    Mikrotik.moscow
    Каталог
    Войти
    0 Сравнение
    0 Избранное
    0 Корзина
    Mikrotik.moscow
    Телефоны
    +7 495 320-55-52
    Заказать звонок
    0
    0
    0
    Mikrotik.moscow
    • +7 495 320-55-52
      • Назад
      • Телефоны
      • +7 495 320-55-52
      • Заказать звонок
    • info@mikrotik.moscow
    • г. Москва, ул. Бакунинская, 84
    • Пн-Пт: 09-00 до 18-00
      Сб-Вс: выходной


    • Кабинет
    • 0 Сравнение
    • 0 Избранное
    • 0 Корзина
    Главная
    Форум
    Форум
    RouterOS
    REST API CORS

    REST API CORS

    Форумы: RouterOS, Аппаратное обеспечение, SwOS, Обратная связь, Объявления, Сторонние инструменты
    Поиск  Пользователи  Правила  Войти
    Страницы: 1
    RSS
    REST API CORS, RouterOS
     
    supermew
    Guest
    #1
    0
    26.03.2022 22:21:00
    Привет! Я сейчас делаю кастомный веб-интерфейс для настройки устройств router os через их новый REST API. Есть ли способ как-то выставить CORS-заголовки для www-ssl, чтобы разрешить HTTP-запросы напрямую с моего сайта, без промежуточного бэкенда?
     
     
     
    TheNetworkALCOHOLIC
    Guest
    #2
    0
    09.05.2022 08:19:00
    У тебя есть хоть какой-нибудь прогресс? Похоже, нужен бекенд уровня intermediate.
     
     
     
    TheNetworkALCOHOLIC
    Guest
    #3
    0
    04.07.2022 16:32:00
    Я нашёл решение: если используете webpack или vite, просто поставьте в прокси secure в false и changeOrigin в true. Всё будет работать!
     
     
     
    Amm0
    Guest
    #4
    0
    05.12.2022 20:09:00
    Я написал Dockerfile для /container, который может это сделать, используя официальный контейнер NGINX с настройкой обратного прокси для CORS. Если нужно, посмотрите моё сообщение на форуме: «Mginx» Container — обратный прокси для поддержки CORS и X.509 на базе Nginx. Правка: надо проверять свои сообщения — не X506, а X.509, и не “wrote”, а “wrote”.
     
     
     
    xsmael
    Guest
    #5
    0
    21.12.2022 15:16:00
    Не могли бы вы подробнее рассказать, как вы это сделали? Мне нужно что-то подобное.
     
     
     
    xsmael
    Guest
    #6
    0
    21.12.2022 15:18:00
    Не могли бы вы подробнее рассказать, как вы это сделали? Мне нужно сделать что-то похожее.
     
     
     
    pjkundert
    Guest
    #7
    0
    29.09.2023 14:13:00
    Вау, отсутствие поддержки CORS в REST API реально сильно ограничивает его функциональность! Мы работаем со сотнями удалённых устройств RouterOS, подключённых через ZeroTier. Вместо того чтобы наша веб-страница со статусом могла напрямую обращаться к устройствам, нам приходится прокидывать запросы через централизованный CORS-прокси. Очень неэффективно, медленно и ресурсоёмко...
     
     
     
    Amm0
    Guest
    #8
    0
    29.09.2023 15:29:00
    Да, это действительно открывает новые возможности. Термин «расточительно» очень подходит. Я давно хотел включить в бренд-кит статическую .html-страницу с небольшим JS, который напрямую вызвал бы RouterOS с этой страницы — без серверной части, без контейнера, чтобы всё работало локально на CPE. Но отсутствие даже CORS с политикой «same-origin» означает, что нужен бэкенд и/или обратный прокси для CORS. Ранее я отправлял официальную заявку на добавление этой функции (SUP-99112) и получил примерно такой ответ: «посмотрим, что можно сделать» — так что есть хоть какой-то положительный сдвиг.

    Конкретно я предложил добавить в /ip/services галочку для включения этой функции вместе со списком FQDN для «разрешённых источников», которые возвращаются REST API, чтобы поддерживать схему CORS*. На стороне клиента всё равно придётся танцевать с CORS (например, использовать includeCredentials: true и так далее в fetch()/XMLHttpRequest), но это уже решаемо. Отсутствие CORS-заголовков от REST-сервера — вот в чём проблема.

    *на клиентской стороне много правил CORS, поэтому заголовок cors-allowed-origin не может быть «*», если используются креденшелы, а RouterOS требует авторизацию (например, basic auth)… значит REST API должен как-то обращаться с источниками.
     
     
     
    maxinieto
    Guest
    #9
    0
    09.12.2023 12:12:00
    Как ты это сделал? Я застрял с моим React-приложением.
     
     
     
    Amm0
    Guest
    #10
    0
    09.12.2023 17:16:00
    Если взглянуть на пост выше того, который ты цитируешь… Выбор клиентского фреймворка никак не меняет того, как веб-браузеры обрабатывают CORS. Так что, пока Mikrotik не добавит поддержку CORS, клиентский JavaScript напрямую использовать fetch() или XMLHttpRequest() не сможет — ни React, ни инструменты сборки это не изменят. Сейчас nodejs НЕ применяет правила CORS. А Vite — это просто dev-сервер на nodejs, так что это вариант. Но подойдет любой бэкенд (например, Express, Hapi и т.п. или какой-нибудь serverless lambda). Главное, что вызовы REST API к RouterOS происходят в nodejs-бэкенде, а не в фронтенд-скриптах JS/HTML — при этом фронтенд должен обращаться к этому «промежуточному бэкенду» (например, HTTP-серверу на nodejs), чтобы достучаться до REST API роутера.
     
     
     
    Страницы: 1
    Читают тему
    +7 495 320-55-52
    info@mikrotik.moscow
    Электрозаводская, Бауманская
    Москва, ул. Бакунинская, 84с21
    Конфиденциальность Оферта
    © 2026 «Mikrotik.Moscow»
    Главная Каталог 0 Корзина 0 Избранные Кабинет 0 Сравнение Акции Контакты Услуги Бренды Отзывы Компания Лицензии Документы Реквизиты Поиск Блог Обзоры