Tomcat、Nginx配置SSL证书,实现https访问

环境准备

  1. 阿里云服务器
  2. 已备案的域名
  3. 已安装JDK、Tomcat

1.进入云盾证书购买页面,选择免费版进行购买

2.进入SSL证书管理控制台创建证书

3.创建证书后进行申请

4.填写域名及相关信息

5.验证后提交审核

6.等待审核

7.审核通过后到SSL证书管理控制台进行下载

8.选择Tomcat,下载

9.解压后得到两个文件

10.在服务器的Tomcat目录下新建一个cert文件夹

11.把解压后的两个文件复制到cert目录下

12.打开conf下的server.xml进行编辑

13.添加以下内容(https默认是443端口)

<Connector
	port="443"
	protocol="HTTP/1.1"
	SSLEnabled="true"
	scheme="https"
	secure="true"
	keystoreFile="cert/证书名称.pfx"
	keystoreType="PKCS12"
	keystorePass="证书密码(pfx-password.txt文件里的内容)"
	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"/>

 示例:

14.修改之前的Connector标签,将redirectPort的8443改为443

代码:

<Connector port="80" protocol="HTTP/1.1"
	connectionTimeout="20000"
	redirectPort="443" />

15.重启Tomcat

16.到服务器管理控制台的防火墙添加443端口

17.服务器防火墙的入站规则中添加443端口

iptables -I IN_public_allow -p tcp --dport 443 -j ACCEPT

18. 输入域名即可访问

19.SpringMVC的web.xml加入,将http重定向到https

<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>

20.nginx配置

20.1 到SSL证书管理控制台下载证书

 20.2 选择nginx进行下载

20.3 解压后有两个文件,分别是key和pem文件,把它放上传到服务器上面

 20.4 在nginx配置文件中添加

# https配置
server {
        # https默认是443端口
        listen 443 ssl;
        # 域名
        server_name www.linzhehao.cn;
        root html;
        index index.html index.htm;
        # pem文件路径
        ssl_certificate cert/4908531_www.linzhehao.cn.pem;
        # key文件路径
        ssl_certificate_key cert/4908531_www.linzhehao.cn.key;
        ssl_session_timeout 5m;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;
        location / {
                # 实际要访问的地址
                proxy_pass http://localhost:8080;
        }
}

# 如果访问80端口,则重定向到443端口
server {
    listen 80;
    listen [::]:80;
    # 域名
    server_name www.linzhehao.cn;
    # 域名
    return 301 https://www.linzhehao.cn$request_uri;
}

20.5 重启nginx即可访问

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值