改变世界的是这样一群人,他们寻找梦想中的乐园,当他们找不到时,他们亲手创造了它

阿里云服务器Tomcat部署项目,申请SSL证书,域名实现https安全访问

最近开发个小程序项目,必须通过https安全访问

准备:阿里云服务器、域名解析、SSL证书、Tomcat配置

1、域名解析:

登录阿里云服务器,进入域名,选择域名解析

点击添加记录,对域名进行解析,解析方式参考文档

https://help.aliyun.com/knowledge_detail/29725.html

这里我依次选择:记录类型:A

主机记录:www

解析线路:默认

记录值:需要绑定服务器ip地址

点击确定

在cmd中ping www.域名,可是否生效,生效后,在浏览器通过IP地址访问项目,再通过域名访问项目

2、SSL证书申请

步骤:登录阿里云,点击控制台,在页面左侧点击阿里云,搜索SSL证书——申请证书(根据需求选择证书类型)

证书申请后,会进入审核阶段,审核通过后,下载证书(根据服务器类型下载)

 

我用的是Tomcat服务器,服务类型选择Tomcat,下图为下载的证书

阿里云配置说明

https://help.aliyun.com/document_detail/98576.html?spm=5176.2020520163.0.0.1decpkjSpkjSb5

3、配置Tomcat

在Tomcat安装目录中创建文件夹cert,把下载的证书和密码文件拷贝到cert目录下

打开Tomcat中的conf目录下的server.xml,添加

<Connector port="443"
    protocol="HTTP/1.1"
    SSLEnabled="true"
    scheme="https"
    secure="true"
    keystoreFile="cert/你的证书名.pfx"   #此处keystoreFile代表证书文件的路径,请用您证书的文件名替换domain name。
    keystoreType="PKCS12"
    keystorePass="证书密码"   #请用您证书密码替换文件中的内容。
    clientAuth="false"
    SSLProtocol="TLSv1+TLSv1.1+TLSv1.2"
    ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"/>
 <Host name="域名"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">
            <Context path="" docBase="Tomcat路径\webapps\项目名" debug="0" reloadable="true" />
 
        <!-- SingleSignOn valve, share authentication between web applications
             Documentation at: /docs/config/valve.html -->
        <!--
        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
        -->
 
        <!-- Access log processes all example.
             Documentation at: /docs/config/valve.html
             Note: The pattern used is equivalent to using pattern="common" -->
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />
 
      </Host>

docBase为Tomcat的绝对路径

修改
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />

为如下代码,以下配置对Tomcat性能进行了优化

<Connector port="80"                <!--设置80端口-->
    protocol="HTTP/1.1" 
    maxHttpHeaderSize="8192" 
    maxThreads="1000" 
    minSpareThreads="100" 
    maxSpareThreads="1000" 
    minProcessors="100" 
    maxProcessors="1000" 
    enableLookups="false" 
    compression="on" 
    compressionMinSize="2048" 
    compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain" 
    connectionTimeout="20000" 
    URIEncoding="utf-8" 
    acceptCount="1000" 
    redirectPort="443"             <!--设置443,同样会跳转到加密的逻辑,访问速率会有一点影响-->
    disableUploadTimeout="true"/>

修改web.xml的welcome-file-list

<welcome-file-list>
<welcome-file>login.html</welcome-file> <!--项目启动页面HTML,根据各自情况修改-->
</welcome-file-list>

在welcome-file-list下面添加

<login-config>  
    <!-- Authorization setting for SSL -->  
    <auth-method>CLIENT-CERT</auth-method>  
    <realm-name>Client Cert Users-only Area</realm-name>  
</login-config>  
<security-constraint>  
    <!-- Authorization setting for SSL -->  
    <web-resource-collection >  
        <web-resource-name >SSL</web-resource-name>  
        <url-pattern>/*</url-pattern>  
    </web-resource-collection>  
    <user-data-constraint>  
        <transport-guarantee>CONFIDENTIAL</transport-guarantee>  
    </user-data-constraint>  
</security-constraint>

重新启动Tomcat,在浏览器测试成功

 

posted @ 2022-04-25 16:34  水狼一族  阅读(431)  评论(0编辑  收藏  举报
改变世界的是这样一群人,他们寻找梦想中的乐园,当他们找不到时,他们亲手创造了它