2

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

  1. 但是,一旦启用了 https,成功登录后,Sonar webapp 就会尝试重定向到非 https url,导致它超时。如果我然后将 url 更改为转到 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"/>   

谢谢。

4

2 回答 2

0

In the web UI (while logged in as an admin user), go to Settings -> General and make sure the URL listed under Server Base URL starts with "https". This can also be set in the server's sonar.properties file using sonar.core.serverBaseURL

于 2013-10-14T00:52:01.617 回答
0

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

RequestHeader set X_FORWARDED_PROTO "https"
于 2014-03-26T20:26:01.943 回答