RESTEasy JSAPI - изменить apiURL

у меня есть проект, который использует RESTEasy Объект REST

jar содержит файл с именем resteasy-client.js этот файл добавляется на веб-страницы, что упрощает создание HTTP-вызовов. есть ошибка! как только файл отправлен клиенту, есть строка, добавляемая сервером в: JSAPIWriter.java в методе: writeJavaScript

writer.println("REST.apiURL = '" + uri + "';");

в https этот URL-адрес создает неправильный URL-адрес, который является HTTP! а не HTTPS! это из источника на моем веб-сайте:

REST.apiURL = 'http://proXXXXXXXX'; as you can see the protocol is not correct. i am looking for a way to over ride this issue, without doing changes to the original code file. Thanks for the help.

Обновить эта проблема возникает из-за того, что подача отстает от FW, и HTTPS отправляется на сервер как HTTP вместо https вопрос в том, как я могу передать этот JSAPI, чтобы его протокол был https (я могу прочитать его из заголовков)

И, просто проверка работоспособности - вы ели указание https в браузере при тестировании? Ваша ссылка также показывает: // Change the base URL used by the API:REST.apiURL = "http://api.service.com"; вы пытались добавить это и изменить URL-адрес на REST.apiURL = "https://yourdomain.com";

JGlass 12.10.2018 19:49

я не могу его изменить, так как это часть Jar, и я ищу способ каким-то образом отменить его ...

developer learn999 12.10.2018 23:55

Я думаю, вы переопределите это, просто поместив это в свой код REST.apiURL = "https://yourdomain.com";

JGlass 15.10.2018 15:14

@JGlass Я обновил источник проблемы, теперь проблема заключается в том, как передать HTTPS в инициализацию JSAPI.

developer learn999 24.10.2018 00:48

Так это Клиент-> HTTP-> Брандмауэр-> HTTPS-> Сервер приложений?

JGlass 24.10.2018 01:11

HTTPS-> FW-> HTTP-> СЕРВЕР ПРИЛОЖЕНИЙ

developer learn999 25.10.2018 16:03

Может быть, ваш Info Sec (информационная безопасность) изменит его на HTTPS-> FW -> * HTTP * -> APPLICATION SERVER? Вам понадобится сертификат SSL, используемый брандмауэром. Это, вероятно, облегчило бы вашу проблему, обычно это называется SSL Pass Through в терминах FW. Это также добавляет безопасности, поскольку это HTTPS от конца до конца.

JGlass 25.10.2018 16:52

у меня уже есть заголовок "X-Forwarded-Proto"

developer learn999 25.10.2018 18:06

Это не похоже на то, что это повлияет на сервлет каким-либо образом (x-forwarded-headers) [docs.aws.amazon.com/elasticloadbalanci‌ ng / latest / classic /… каким-либо образом, кроме того, что вы сможете получить доступ к этому заголовку и ответить соответствующим образом ... Нет шансов, что Info Sec сделает протокол HTTPS? Не уверен, насколько велика ваша компания, но обычно для команды Info Sec это изменение занимает всего одну минуту.

JGlass 25.10.2018 18:53

это баланс нагрузки Amazon AWS docs.aws.amazon.com/elasticloadbalancing/latest/classic/…, JSAPI изначально не предназначался для чтения из определенного заголовка, например, для проверки протокола или для этого была задана какая-либо конфигурация.

developer learn999 26.10.2018 12:57

Можете ли вы настроить «экземпляр» (экземпляр вашего сервера) как HTTPS на порт 8443 вместо использования только HTTP? elb создать https ssl load balancer. Если вы не можете, то я думаю, что работа будет заключаться в получении экземпляра базового сервлета в вашем коде и изменении URL-адреса, если возможно, на HTTPS в ответе - похоже, что это может не сработать, хотя, поскольку это java-скрипт, который заканчивается как HTTP

JGlass 26.10.2018 18:19

Кроме того, такая внешность - ваша проблема, не так ли? javascript google transliterate api не обслуживается через https

JGlass 26.10.2018 18:28

Я могу изменить FW-> HTTP на FW-> HTTPS, но сначала меня интересовало, как я могу изменить его на уровне Java

developer learn999 27.10.2018 09:55

Да, я не уверен - но вы могли бы пойти более безопасным путем ;-)

JGlass 31.10.2018 20:10
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
14
90
1

Ответы 1

Я сделал расширение до основного класса jar, изменил web.xml, указывающий на новый класс, который я создал, и прочитал заголовки из x-forward-proto, чтобы получить правильный протокол.

Другие вопросы по теме