在启用了 SSL 的情况下Microsoft IIS 后面运行声纳,登录成功后无法重定向到 https



我已经将Sonar网络服务器配置为让所有请求通过Microsoft IIS服务器。它被确认可以通过http协议处理请求。

    但是,一旦启用了https,
  1. 成功登录后,Sonar网络应用程序将尝试重定向到非https网址,从而导致超时。如果我随后将网址更改为 https,它将显示为经过身份验证并继续正常工作。

  2. 当您尝试注销时,也会发生同样的问题 - 它不是重定向到 https 页面,而是转到 http。

需要做什么才能使Sonar登录后操作使用最初请求登录页面的相同协议?

sonar.properties具有:

sonar.web.host:                           127.0.0.1
sonar.web.port:                           9000
sonar.web.context:                        /sonar

IIS 插件具有:

<VirtualHostGroup Name="default_host">        
    <VirtualHost Name="*:80"/>
    <VirtualHost Name="*:9443"/>
    <VirtualHost Name="*:443"/>
    <VirtualHost Name="*:9000"/>
</VirtualHostGroup>
<ServerGroup Name="sonar_group">
    <Server Name="sonar_server">      
        <Transport Hostname="127.0.0.1" Port="9000" Protocol="http"/>
    </Server>
</ServerGroup>
<UriGroup Name="sonar_host_URIs">
    <Uri Name="/sonar*"/>
</UriGroup>
<Route ServerGroup="sonar_group" UriGroup="sonar_host_URIs" VirtualHostGroup="default_host"/>   

谢谢。

在 Web UI 中(以管理员用户身份登录时),转到"设置"->"常规",并确保"服务器基本 URL"下列出的 URL 以"https"开头。 这也可以使用sonar.core.serverBaseURL在服务器的sonar.properties文件中设置。

这是Ruby堆栈的一个众所周知的问题,需要调整Web服务器配置,而不是Sonar的配置。在 Apache 上,您必须执行以下操作,我相信票证中的指针也会引导您找到 IIS 的解决方案:

RequestHeader set X_FORWARDED_PROTO "https"

最新更新