Apache2

Apache 反向代理解析 localhost

  • April 21, 2019

我有一個執行 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它將用主機地址替換所有響應。

引用自:https://serverfault.com/questions/963964