当前位置: > Linux服务器 > nginx >

NGINX,TOMCAT,HTPPS,SSL证书安装部署

时间:2016-12-08 19:00来源:linux.it.net.cn 作者:IT

NGINX反向代理端配置

  1. 将证书签发邮件中的包含服务器证书代码的文本复制出来(包括-----BEGIN CERTIFICATE-----和-----END CERTIFICATE-----)粘贴到记事本等文本编辑器中。
  2. 为保障服务器证书在客户端的兼容性,服务器证书需要安装两张中级CA证书(不同品牌证书,可能只有一张中级证书)。
  3. 拼接证书

    在服务器证书代码文本结尾,回车换行,并分别粘贴两张中级CA证书代码(包括-----BEGIN CERTIFICATE-----和-----END CERTIFICATE-----,每串证书代码之间均需要使用回车换行分隔),修改文件扩展名,保存包含三段证书代码的文本文件为server.pem文件(如果只有一张中级证书,则只需要粘贴一张中级证书代码与服务器证书代码即可,并回车换行)。

  4. 安装NGINX。如果是自己编译的话,记得加上--WITH-HTTP_SSL_MODULE参数。
  5. 将PEM和SERVER.KEY文件复制到NGINX的CONF目录下;默认目录/ETC/NGINX/
  6. 修改NGINX 配置文件/ETC/NGINX/NGINX.CONF反向代理到TOMCAT

    下面配置仅包含https的配置

    server {
    listen       443 ssl;
    server_name oopay.kouclo.com;
    keepalive_timeout   70;
    ssl_certificate     server.pem;
    ssl_certificate_key server.key;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_ciphers ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-RC4-SHA:ECDHE-RSA-AES256-SHA:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:RC4-SHA:!aNULL:!eNULL:!EXPORT:!DES:!3DES:!MD5:!DSS:!PKS;
    ssl_session_timeout 5m;
    ssl_session_cache builtin:1000 shared:SSL:10m;
    root /home/kouclo/apache-tomcat-8.0.18/webapps/oopay-web;
    access_log logs/oopay.access.log;
    index index.html index.htm index.jsp;
    location / {
    proxy_pass https://114.113.232.18:9443;
    }
    }
    
  7. 保存退出,并重启NGINX。先测试配置:NGINX –T ,如果OK的话执行命令:NGINX –S RELOAD

TOMCAT服务器配置

  1. 将上一步的SERVER.PEM和SERVER.KEY文件同样复制到TOMCAT的CONF目录下。
  2. 安装APR,APR需要三个组件
    • apr-1.3.9.tar.gz  http://apr.apache.org/download.cgi
    • apr-util-1.3.9.tar.gz
    • tomcat-native.tar.gz 在Tomcat的bin目录下
      以上组件均可使用 ./configure && make && make install
      来编译安装。native编译时需要带上 --with-apr=/usr/local/apr --with-ssl
  3. 设置 TOMCAT 整合 APR

    以下是两种方法

    • 修改 tomcat 的启动 shell ( catalina.sh ),在该文件中加入启动参数CATALINA_OPTS="-Djava.library.path=/usr/local/apr/lib"
    • 也可以在环境变量中配置/etc/profile中加入
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/apr/lib 
    source  /etc/profile
    
  4. 修改CONF目录下的SERVER.XML配置文件
    <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
    <Connector
    protocol="org.apache.coyote.http11.Http11AprProtocol"
    port="9443" maxThreads="200"
    scheme="https" secure="true" SSLEnabled="true"
    SSLCertificateFile="${catalina.base}/conf/server.pem"
    SSLCertificateKeyFile="${catalina.base}/conf/server.key"
    SSLVerifyClient="optional" SSLProtocol="TLSv1+TLSv1.1+TLSv1.2"/>
    
  5. 在应用的WEB-INF/WEB.XML中指定必须走HTTPS的URL
    <security-constraint>
            <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>
    
  6. 排除SSL跳转的配置:
    <security-constraint>
        <web-resource-collection>
            <web-resource-name>SSL</web-resource-name>
            <url-pattern>/open/*</url-pattern>
        </web-resource-collection>
        <user-data-constraint>
            <transport-guarantee>NONE</transport-guarantee>
        </user-data-constraint>
    </security-constraint>
    

防火墙设置

  1. 开放443端口:编辑/ETC/SYSCONFIG/IPTABLES文件确认添加了记录:
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
    

测试证书的安装情况

  1. ###### 点击 这里 输入你的网址,点击Check。查看配置的安全性。



(责任编辑:IT)
------分隔线----------------------------
栏目列表
推荐内容