我有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的专家是否可以告诉我我错过了什么?
答案 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;
};