WedX - журнал о программировании и компьютерных науках

Как включить CORS на Sonatype Nexus?

Я хочу разработать Monitoring-WebApp для разных вещей с AngularJS в качестве внешнего интерфейса. Один из основных элементов показывает обзор Nexus-Artifacts/Repositories. Когда я запрашиваю REST-API, я получаю следующую ошибку:

No 'Access-Control-Allow-Origin' header is present on the requested resource.
Origin 'https://localhost:9090' is therefore not allowed access.

Чтобы исправить эту ошибку, мне нужно изменить заголовки ответа, чтобы включить CORS.

Было бы здорово, если бы кто-то был знаком с такой проблемой и мог бы дать мне ответ!


Ответы:


1

Заголовки CORS присутствуют в ответе системы, которую вы пытаетесь вызвать. (Они проверяются на стороне клиента [в данном случае браузера], вы можете реализовать вызов на своем бэкэнде, чтобы иметь эти вызовы, и там вы можете игнорировать эти заголовки, но это может стать довольно сложно поддерживать.) Чтобы изменить те, которые вы Мне нужен proxy. Таким образом, ваше приложение не будет вызывать URL-адрес напрямую, как

fetch("https://localhost:9090/api/sometest")

Есть как минимум два способа: один — добавить прокси непосредственно перед сервером сонара и изменить заголовки для всех. Я действительно не рекомендую это из соображений безопасности. :)

Другое более удобное решение — пройти через локальный домен веб-приложения мониторинга следующим образом:

fetch("/proxy/nexus/api/sometest")

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

Я не знаю, какое приложение http server вы собираетесь использовать, но вот некоторые документы по настройке прокси на эту тему:

Для Apache HTTPD mod_proxy вы можете использовать аналогичная конфигурация:

ProxyPass "/proxy/nexus/" "https://localhost:9090/"
ProxyPassReverse "/proxy/nexus/" "https://localhost:9090/"

Возможно, также необходимо использовать файлы cookie, поэтому вам может потребоваться взглянуть на следующие конфигурации:

Для Nginx расположение вы могли бы использовать что-то следующим образом

location /proxy/nexus/ {
    proxy_pass https://localhost:9090/;
}

Для node.js см. документацию: https://github.com/nodejitsu/node-http-proxy

module.exports = (req, res, next) => {

  proxy.web(req, res, {
    target: 'https://localhost:4003/',
    buffer: streamify(req.rawBody)
  }, next);

};
18.06.2019
Новые материалы

Как проанализировать работу вашего классификатора?
Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

Работа с цепями Маркова, часть 4 (Машинное обучение)
Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

Учебные заметки: создание моего первого пакета Node.js
Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..

ИИ в аэрокосмической отрасли
Каждый полет – это шаг вперед к великой мечте. Чтобы это происходило в их собственном темпе, необходима команда астронавтов для погони за космосом и команда технического обслуживания..


Для любых предложений по сайту: [email protected]