У меня есть веб-сервер с запущенной службой 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
. Если установлено значение На
, все ответы будут заменены адресом хоста.