阿里云服务器Centos/tomcat6 配置http/https证书访问

因为项目需要,整体网络请求转向https,以前没弄过,于是遇到一些问题,不过最后终于是解决了。
服务器采用的是阿里云ECS,CentOS,Tomcat6.
先是搜索了一堆https证书安装的网页,各种鱼龙混杂,后来发现各大运营商都有自己的证书服务,在无法鉴别其他证书运营商资质的情况下,还是先用服务器所属的运营商。
于是,申请了阿里云免费的证书先试用,按阿里云的说明进行了配置。
一番折腾下来,结果https://+域名,访问不了网页。这里回头看来蛮搞笑,完全是啥都不懂导致的。
经过度娘之后,多方尝试,终于实现https://+域名和http://+域名都能正常访问的配置。
好了,就是Tomcat的Server.xml这个文件。
按照一般配置的“教学”和阿里云配置说明,修改后的内容如下:

<Connector protocol="org.apache.coyote.http11.Http11Protocol"     
                     port="8443" maxHttpHeaderSize="8192"   
           maxThreads="150" minSpareThreads="25" maxSpareThreads="75"   
           enableLookups="false" disableUploadTimeout="true"   
           acceptCount="100" scheme="https" secure="true"   
           clientAuth="false" sslProtocol="TLS"                    
           keystoreFile="/root/.....jks"     
           keystorePass="......"/>  

但这样只能采用https://www….com:8443方式来访问。
SSL的标准访问端口为443,为了去掉8443这个小尾巴,因此,需要做如下三处配置:

 1. <Connector port="80" maxHttpHeaderSize="8192" 
                maxThreads="500" minSpareThreads="25" maxSpareThreads="75" 
                enableLookups="false" redirectPort="443" acceptCount="100" 
                connectionTimeout="20000" disableUploadTimeout="true" />

将其中的redirectPort端口号改为:443

2. <Connector     
   port="443" maxHttpHeaderSize="8192" 
   maxThreads="150" minSpareThreads="25" 
   maxSpareThreads="75" 
   enableLookups="false" 
   disableUploadTimeout="true" 
   acceptCount="100" scheme="https" 
   secure="true" 
   clientAuth="false" sslProtocol="TLS" 
   keystoreFile="...." 
   keystorePass="...." /> 
3.AJP 1.3 Connector定义的地方,修改redirectPort为443,如下: 
     <Connector port="8009" 
                enableLookups="false" redirectPort="443" protocol="AJP/1.3" /> 

重新启动Tomcat就可以了。

这里感谢alex.chow。
参考链接http://blog.csdn.net/chow__zh/article/details/8843594

你可能感兴趣的:(通讯开发)