0

我最近在通过 HTTPS ELB 连接的 AWS 中设置了 Crucible 实例。我在实例上也设置了 nginx 反向代理,以将 HTTP 请求重定向到 HTTPS。

这部分有效。然而 Crucible 本身并不知道它是在 HTTPS 上运行的,因此会提供混合内容,并且 ajax 查询经常由于 HTTP -> HTTPS 冲突而中断。

我找到了直接在 Crucible 中安装证书的文档...

https://confluence.atlassian.com/fisheye/fisheye-ssl-configuration-298976938.html

但是,我真的不想这样做。我希望在 ELB 终止 HTTPS,以便更轻松地通过 AWS 进行集中管理。

我还找到了通过反向代理使用 Crucible 的文档...

https://confluence.atlassian.com/kb/proxying-atlassian-server-applications-with-apache-http-server-mod_proxy_http-806032611.html

但是,这并没有专门处理 HTTPS。

我真正需要的是一种方法来确保 Crucible 不会使用硬编码的内部 HTTP 引用来提供内容。它需要离开协议,或者为链接设置 HTTPS。

4

2 回答 2

1

设置反向代理配置应该有助于实现这一点。在Administration >> Global Settings >> Server >> Web Server设置以下:

Proxy scheme: https Proxy host: elb.hostname.com Proxy port: 443

并重新启动坩埚。

于 2016-08-11T22:18:07.120 回答
1

在 UI 上进行配置是一种方法。您还可以更改 $FISHEYE_HOME 中的 config.xml:

<web-server site-url="https://your-public-crucible-url">
  <http bind=":8060" proxy-host=“your-public-crucible-url" proxy-port="443" proxy-scheme="https"/>
</web-server>

确保在进行此更改之前关闭 FishEye/Crucible。

AFAIK,此配置是告诉 FishEye/Crucible 的内部 Jetty 了解它们面前的反向代理的唯一方法。

于 2016-09-03T17:35:04.540 回答