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