当用户使用“忘记密码”时,他们会收到一个指向 Artifactory 中重置密码页面的 URL。在我们的例子中,URL 包含一个额外的 /ui,如下所示
https://external-hostname/ui/ui/auth/reset-password?key=
删除后,URL 即可正常工作。我搜索了设置,但找不到任何可以改变这一点的东西。
我们在 Artifactory 实例前面有一个反向 Apache httpd 代理,所以也许我在那里做错了什么?
ProxyPreserveHost on
AllowEncodedSlashes On
<Location /artifactory>
RequestHeader set Host external-hostname
RequestHeader set X-Forwarded-Port 443
RequestHeader set X-Forwarded-Proto https
RequestHeader set X-JFrog-Override-Base-Url https://external-hostname/
ProxyPassReverseCookiePath / /
ProxyPass http://192.168.1.2:8081/artifactory
ProxyPassReverse http://192.168.1.2:8081/artifactory
Require all granted
</Location>
<Location /ui>
RequestHeader set Host external-hostname
RequestHeader set X-Forwarded-Port 443
RequestHeader set X-Forwarded-Proto https
RequestHeader set X-JFrog-Override-Base-Url https://external-hostname/
ProxyPassReverseCookiePath / /
ProxyPass http://192.168.1.2:8082/ui
ProxyPassReverse http://192.168.1.2:8082/ui
Require all granted
</Location>
外部主机名与其他应用程序共享,因此我无法映射“/”,因此显式映射“/ui