Назад | Перейти на главную страницу

Обратный прокси-сервер 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-адрес

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

Это была глупая ошибка. Я забыл ProxyPreserveHost вариант. Пока установлено на On он заменит адрес хоста на все ответы.