Обратный прокси-сервер Apache разрешает localhost

У меня есть веб-сервер с запущенной службой dockerized nuget. Веб-сервер также имеет apache2, работающий как обратный прокси, повторно отправляющий запросы в службу. Я могу получить доступ к веб-интерфейсу своей службы, но когда я пытаюсь отправить пакеты, очевидно, nuget получает localhost как IP-адрес службы:

nuget.exe push -Source http://mynuget.server/v3/index.json .\mypackage.nupkg
Please provide credentials for: http://mynuget.server/v3/index.json
UserName: username
Password: ************
Pushing mypackage.nupkg to 'http://127.0.0.1:555/api/v2/package'...
PUT http://127.0.0.1:555/api/v2/package/

Мой apache настроен как обратный прокси следующим образом:

<VirtualHost 192.168.1.50:80>
  ServerName mynuget.server

  <Location />
    Order deny,allow
    AuthType basic
    AuthName "Restricted content"
    AuthUserFile /etc/apache2/.htpasswd
    Require valid-user
  </Location>

  ProxyPass / http://127.0.0.1:555/
  ProxyPassReverse / http://127.0.0.1:555/

</VirtualHost>

Конечно, mynuget .server - допустимое доменное имя, преобразованное в действительный IP-адрес

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

0
задан 21 April 2019 в 14:50
1 ответ

Это была глупая ошибка. Я забыл опцию ProxyPreserveHost . Если установлено значение На , все ответы будут заменены адресом хоста.

1
ответ дан 4 December 2019 в 15:43

Теги

Похожие вопросы