zoukankan      html  css  js  c++  java
  • 容器配置https

    生成秘钥库

      通过jdkkeytool工具生成秘钥库

    keytool -genkeypair -alias "localhost" -keyalg "RSA" -keystore "d:localhost.keystore"

           参考示例:

    如果不想这么复杂可以参考如下示例:

    keytool -genkey -keystore "d:localhost.keystore" -alias "localhost" -keyalg "RSA" -validity 365 -dname "CN=localhost, OU=org, O=org.cj, L=昆明, ST=云南, C=中国" -keypass lcoalhost -storepass localhost
     
    -keystore 秘钥库存储路径
    -alias 秘钥库别名
    -validity 有效期
    -dname
    CN 姓名
    OU 组织单位
    O 组织
    -keypass 条目密码
    -storepass 库密码
     

    导出证书

    keytool -alias "localhost" -exportcert -keystore "d:localhost.keystore" -file "d:localhost.cer" -storepass "123456"
     
    -keystore 秘钥库存储路径
    -file 导出证书文件位置
    -storepass 秘钥库 存储密码

    tomcat

    修改tomcat/conf的server.xml文件

    <Connector port="8443" protocol="org.apache.coyote.http11.Http11Protocol"
      maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
      clientAuth="false" sslProtocol="TLS"
      keystoreFile="d:localhost.keystore"
      keystorePass="123456" />
    keystoreFile 指定秘钥库的路径
    keystorePass 秘钥库密码
       启动服务(tomcat/bin/startup.bat)。

      chrome浏览器默认会报 连接不安全 


    可以通过如下方式导入证书,详细细节可以参考安装tomcat的证书在浏览器中

    扩展

    1).key 文件是证书私钥文件,如果申请证书时没有选择系统创建CSR,则没有该文件。此时该私钥文件由您自己保管。
    2) .crt 文件是证书文件,一般包含两段内容。如果是Apache服务器,会将证书文件拆分成 _public.crt(证书)文件和_chain.crt(证书链或中间证书)文件。
    3) .pem 文件是证书文件,一般包含两段内容。一般Nginx的一些文档会用该扩展名文件,在阿里云证书中与.crt文件一样。
    友情提示: .crt扩展名的证书文件采用Base64-encoded的PEM格式文本文件,可根据需要,修改成.pem等扩展名。
    3).pfx 文件,一般适合Tomcat/IIS服务器;每次下载都会产生新密码,该密码仅匹配本次下载的证书。如果需要更新证书文件,同时也要更新密码。

    nginx

    .pem文件是证书文件,采用Base64-encoded的PEM格式文本文件。 
    .key文件是证书的私钥文件

    server {
        listen 443;
        server_name localhost;
        ssl on;
        root html;
        index index.html index.htm;
        ssl_certificate   cert/a.pem;   # 证书文件
        ssl_certificate_key  cert/a.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 / {
            root html;
            index index.html index.htm;
        }
    }

    nginx -t 可以检查配置文件是否修改正确 
    nginx -s reload 可以热重启

    [root@localhost conf]# nginx -t
    nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
    nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
    [root@localhost conf]# nginx -s reload

    Nginx/Tengine服务器安装SSL证书

    Apache

    _public.crt文件是证书文件, 
    _chain.crt是证书链(中间证书)文件, 
    .key文件是证书的私钥文件 
    .crt扩展名的证书文件采用Base64-encoded的PEM格式文本文件

    修改apache/conf目录下的httpd.conf文件,找到以下内容并去掉“#”:

    #LoadModule ssl_module modules/mod_ssl.so (如果找不到请确认是否编译过 openssl 插件)
    #Include conf/extra/httpd-ssl.conf

    打开 apache 安装目录下 conf/extra/httpd-ssl.conf 文件 (也可能是conf.d/ssl.conf,与操作系统及安装方式有关), 在配置文件中查找以下配置语句:

    # 添加 SSL 协议支持协议,去掉不安全的协议
    SSLProtocol all -SSLv2 -SSLv3
    # 修改加密套件如下
    SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM
    SSLHonorCipherOrder on
    # 证书公钥配置
    SSLCertificateFile cert/a_public.crt
    # 证书私钥配置
    SSLCertificateKeyFile cert/a.key
    # 证书链配置,如果该属性开头有 '#'字符,请删除掉
    SSLCertificateChainFile cert/a_chain.crt
     

    重启容器

    Apache服务器安装SSL证书

    PFX证书安装

    修改tomcat/conf下面的server.xml文件。 
    添加如下内容:

    <Connector port="8443"
    protocol="HTTP/1.1"
    SSLEnabled="true"
    scheme="https"
    secure="true"
    keystoreFile="cert/a.pfx"
    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"/>
     

    JKS证书安装

    将PFX证书转成JSK格式

    keytool -importkeystore -srckeystore a.pfx -destkeystore a.jks -srcstoretype PKCS12 -deststoretype JKS

    回车后输入JKS证书密码和PFX证书密码,强烈推荐将JKS密码与PFX证书密码相同,否则可能会导致Tomcat启动失败。

    修改tomcat/conf下面的server.xml文件。 
    添加如下内容:

    <Connector port="8443"
    protocol="HTTP/1.1"
    SSLEnabled="true"
    scheme="https"
    secure="true"
    keystoreFile="cert/a.jks"
    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"/>
     
  • 相关阅读:
    75. Sort Colors
    101. Symmetric Tree
    121. Best Time to Buy and Sell Stock
    136. Single Number
    104. Maximum Depth of Binary Tree
    70. Climbing Stairs
    64. Minimum Path Sum
    62. Unique Paths
    css知识点3
    css知识点2
  • 原文地址:https://www.cnblogs.com/LuisYang/p/10027685.html
Copyright © 2011-2022 走看看