Apache2
Apache 反向代理解析 localhost
我有一個執行 dockerized nuget 服務的網路伺服器。Webserver 也有 apache2,作為反向代理,重新發送請求到服務。我可以訪問我的服務的 Web 界面,但是當我嘗試推送包時,顯然,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
它將用主機地址替換所有響應。