Artifactory设置HTTPS

时间:2015-09-23 15:25:52

标签: tomcat artifactory

我有Artifactory正在运行,我想强制执行简单的HTTPS连接并禁用常规HTTP访问。

结果是我看似成功,但网站不再可用 - 我因此重定向到8443这是我的https端口设置,但它不再连接。

由于它基于tomcat,我编辑了现在看起来像这样的server.xml:

<Server port="8015" shutdown="SHUTDOWN">

    <Service name="Catalina">
        <Connector port="8081" redirectPort="8443" enableLookups="false"/>

<Connector
           protocol="org.apache.coyote.http11.Http11AprProtocol"
           port="8443" maxThreads="200"
           scheme="https" secure="true" SSLEnabled="true"
           SSLCertificateFile="/opt/artifactory-oss-4.1.2/tomcatcert.pem" 
           SSLCertificateKeyFile="/opt/artifactory-oss-4.1.2/tomcatkey.pem"
           SSLVerifyClient="optional" SSLProtocol="TLSv1+TLSv1.1+TLSv1.2"/>

        <!-- This is the optional AJP connector -->
        <!--Connector port="8019" protocol="AJP/1.3"/-->

        <Engine name="Catalina" defaultHost="localhost">
            <Host name="localhost" appBase="webapps"/>
        </Engine>

    </Service>
</Server>

常规8081端口的重定向似乎没有任何影响。它仍然使用8081.使用端口8443根本不起作用并显示找不到页面。

Tomcat的专家是否可以告诉我我错过了什么?

1 个答案:

答案 0 :(得分:0)

删除redirectPort =&#34; 8443&#34;从你的第一个连接器将做到这一点:

function array_key_exists_r($needle, $haystack){
    $result = array_key_exists($needle, $haystack);
    if ($result) 
    {
        foreach ($haystack as $a=>$v) 
        {
            if($needle == $a)
                return $haystack[$a];
            if (is_array($v)) {
                $result = array_key_exists_r($needle, $v);
            }
            if ($result) return $result;
        }
    }
    foreach ($haystack as $v) {
        if (is_array($v)) {
            $result = array_key_exists_r($needle, $v);
        }
        if ($result) return $result;
    }
    return $result;
};