JIRA v9.11.3中AJS.params.baseURL返回HTTP而非HTTPS问题排查
JIRA v9.11.3 Insight页面接口调用HTTP而非HTTPS问题排查与解决
可能的原因及解决步骤
1. 反向代理X-Forwarded头配置缺失或不正确
JIRA依赖反向代理传递的X-Forwarded-*头识别外部访问协议(HTTPS),若这些头未正确传递,JIRA内部会默认用HTTP生成BaseURL。
- 确保反向代理(如Nginx、Traefik)配置中传递以下请求头:
X-Forwarded-Proto: https X-Forwarded-Host: [MyDomain] X-Forwarded-Port: 443 - 在JIRA的
server.xml中配置RemoteIpValve,让JIRA信任这些头(匹配K8s集群内部IP段):<Valve className="org.apache.catalina.valves.RemoteIpValve" internalProxies="10\.0\.0\.0/8|192\.168\.0\.0/16|172\.16\.0\.0/12" remoteIpHeader="X-Forwarded-For" remoteIpProxiesHeader="X-Forwarded-By" protocolHeader="X-Forwarded-Proto"/>
2. JIRA server.xml Connector参数未配置反向代理信息
即便全局基础URL设为HTTPS,若server.xml的Connector未配置反向代理参数,AJS.params.baseURL仍可能取内部HTTP地址。
修改server.xml中的Connector节点,添加以下参数:
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" scheme="https" proxyName="[MyDomain]" proxyPort="443" secure="true"/>
3. Insight插件缓存或配置问题
Insight插件可能缓存旧的BaseURL,未同步JIRA全局配置:
- 重启JIRA服务,刷新插件配置
- 进入JIRA管理后台 -> 插件 -> 管理插件,找到Insight插件,点击「清除缓存」
- 检查Insight插件高级配置(若有),确认是否存在独立BaseURL配置项,需设置为HTTPS地址
4. K8s Ingress配置问题
K8s Ingress未正确传递头或配置TLS,会导致JIRA接收到HTTP请求:
- 确保Ingress启用
use-forwarded-headers(以Nginx Ingress为例,在ConfigMap中设置use-forwarded-headers: "true") - 检查Ingress资源配置,添加
nginx.ingress.kubernetes.io/ssl-redirect: "true"注解,强制HTTPS跳转 - 验证Ingress的TLS证书配置正确,确保域名匹配且证书有效
内容的提问来源于stack exchange,提问作者qkhanhpro
相关产品推荐
相关产品推荐

