Я пытаюсь использовать OAuth Provider в PHP (пакет PECL) за обратным прокси-сервером apache
клиент использует
POST https://api.com/resource/oauth/request-token
но мой поставщик oauth получает
POST http://api.com/mywebservice/resource/oauth/request-token
подпись не может быть проверена, чтобы запрос не прошел
есть ли у вас какие-либо идеи по решению этой проблемы?
Я должен был сделать это один раз. Я закончил модификацию кода OAuth, чтобы пройти по фактическому URL-адресу, которое провайдер получит, а также URL-адрес, который мне нужно отправить из-за моего прокси-сервера. Первый был использован в сигнатуре, а второй – в HTTP-запросе. Это было больно и не переносимо (если что-то изменилось в прокси, код перестанет работать)
У нас была одна и та же проблема (менее сложная, когда наш обратный прокси менял HTTPS на HTTP внутри сети).
Вы можете включить свой балансировщик (независимо от того, что используете в качестве обратного прокси), чтобы переслать правильную схему заголовка (и многое другое).
Например, в Nginx вы можете использовать оба:
proxy_set_header X-Forwarded-Proto https;
а также
proxy_redirect .... ;
Это может быть не прямое контекстное решение этой старой проблемы, но я потратил 7 часов на то, чтобы отладить нашу проблему, поэтому я уверен, что это кому-то пригодится.