阿里云LBS-沃通SSL证书-NGINX-TOMCAT部署

公司起步阶段项目部署在阿里云单台ECS上,由一个tomcat应对不多的请求,ssl使用的沃通的vo证书,由tomcat负责强制https。后期由于业务的发展,单台服务器负载已经很高,稳定下下降,逐考虑拓展硬件配置,购买了LBS,陆续增加了3台ECS,考虑将SSL证书配置到LBS上,后端tomcat只启用80端口,于是开工。

一、迁移SSL证书
  1. 获取SSl证书
    沃通购买的证书包含以下五个压缩包:
    这里写图片描述
    解压for Nginx.zip得到两个文件:
    这里写图片描述
  2. 安装SSL证书
    SLB :负载均衡–>证书管理–>创建证书
    这里写图片描述
    解压得到for nginx 2个文件,使用notepad++、UltraEdit、写字板(不要使用记事本)将xxx.crt文件打开,删除—–END CERTIFICATE—–后面的空行(一共三个)
    —–END CERTIFICATE—–
    (删除这个空行)
    —–BEGIN CERTIFICATE—–
    将crt文件中的三段内容粘贴到“证书内容”中,将xxx.key文件黏贴到“私钥”。
    证书region(证书区域)勾选和购买的服务器区域一致,点击确认,完成证书的创建。
    注意:切记,用for nginx 的证书,删除证书中间的空格,不要用记事本打开,如果出现pc端可以访问,手机端不能访问,就只这里没有按要求操作。
二、配置监听

这里写图片描述
前端协议选https(443),后端用http(80),服务器证书选择刚才创建的证书。后端的tomcat目前监听80端口,监听创建后,使用https访问应该是可以了。然后需要再添加http监听,前端协议http(80),后端仍然为80,如此https、http应该都生效了。

三、强制https

为了实现http访问转https,并且实现更便捷的访问控制,ECS上在tomcat之外,又安装了nginx,用来实现http转https以及做一些简单的恶意访问拦截。安装nginx后,tomcat端口仅配置为8080,不再处理https请求,nginx配置监听80端口和81端口,81端口重定向到https。
1. nginx配置如下:

    server {
        listen       80;
        server_name  www.xxxxx.com;
        root /usr/tomcat7/webapps/ROOT;

        location / {
           proxy_redirect off;
           proxy_set_header Host $host;
           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
           proxy_pass http://127.0.0.1:8080;
        }
        access_log  logs/host80.access.log  main;
    }
    server {
        listen       81;
        return 301 https://www.xxxx.com$request_uri;
    }
  1. 阿里云LBS配置
    阿里云LBS http监听后端端口改为81:
    这里写图片描述
    此时访问https443端口,nginx80交由tomcat8080处理,访问http80端口,nginx81端口接收后转到https443。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值