Определить, использует ли пользователь proxypass в Apache или NodeJS - PullRequest
0 голосов
/ 11 июня 2018

Я разработал приложение NodeJS, работающее на порту 1234. Чтобы в адресной строке не было «: 1234», я использую proxypass / proxypassreverse, чтобы URL-адреса выглядели как «mysite.com/myapp/".*1001».*

Все отлично работает, но мое приложение находится за SSO.Когда пользователь пытается перейти на «mysite.com/myapp», он перенаправляется на SSO, он входит в систему, а затем SSO перенаправляет его на «mysite.com:1234» (поскольку SSO не понимает, что существует прокси-сервер)).

Я создал на своей странице javascript, определяющий, есть ли в URL ": 1234", и если да, то window.location заменяет ": 1234" на "/myapp".

Это не очень хорошее решение для меня, я думаю, что может быть NodeJS или даже лучше решение Apache, чтобы определить, является ли достигнутый URL-адрес ": 1234" или "/ myapp".

Заранее спасибо.

1 Ответ

0 голосов
/ 13 июня 2018

ОК, моя проблема была в том, что NodeJS отправил в SSO URL-адрес с номером порта.Все, что мне нужно было сделать, это заменить номер порта на строку, которую я использую для ProxyPass:

req.get('host').replace(':' + PORT, '/node')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...