URL-адрес перенаправления WireCloud с прокси

Где я могу вручную установить redirect_uri, который является частью параметров URL-адреса, при нажатии на sign in в настройках WireCloud по умолчанию?

Мы хотим показать нашу платформу в Интернете и должны обратиться к нашему серверу WireCloud через наш прокси. Теперь проблема в том, что в качестве URL-адреса перенаправления используется не URL-адрес прокси-сервера, а URL-адрес внутреннего сервера. Это приводит к ошибке {"state": "eCUfYmpXnDV34IVR1P8Vtt2Ke8Xhoxtm", "error": "mismatching_redirect_uri"} (HTTP 400).


person Newbird    schedule 10.05.2016    source источник
comment
Добавив USE_X_FORWARDED_HOST = True в мой settings.py, URL-адрес перенаправления стал лучше, поскольку теперь URL-адрес перенаправления является правильным сервером. Однако прокси-сервер создает SSL-соединение с клиентом, поэтому URL-адрес должен начинаться с https, а не с http. Но внутренний сервер использует http, а не https. Так есть ли способ изменить URL-адрес на https? Если я изменяю URL-адрес вручную в адресной строке, я получаю ошибку 401: URL-адрес не авторизован   -  person Newbird    schedule 10.05.2016


Ответы (1)


Добавьте следующие строки в файл settings.py:

USE_X_FORWARDED_HOST = True
USE_X_FORWARDED_PORT = True
SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')

это настроит WireCloud так, чтобы он доверял следующим заголовкам: X-Forwarded-Host, X-Forwarded-Port и X-Forwarded-Proto. Эти заголовки обычно предоставляются прокси-серверами при вызове внутренней службы.

Если вы предпочитаете не полагаться на эти заголовки, вы можете установить определенные значения в файле settings.py, используя вместо этого следующие параметры:

FORCE_PROTO = 'https'
FORCE_DOMAIN = 'my.domain.com'
FORCE_PORT = 8000
person Álvaro Arranz    schedule 11.05.2016
comment
Спасибо за быстрый ответ! - person Newbird; 12.05.2016