美文网首页
ssl证书(http升级https)

ssl证书(http升级https)

作者: 天噵酉州懃_b1ba | 来源:发表于2019-04-22 18:09 被阅读0次

http默认端口80,https默认端口号443

一、购买证书

证书类型分为DV、OV、EV这三种,
    DV(域名型SSL):个人站点、iOS应用分发站点、登陆等单纯https加密需求的链接;
    OV(企业型SSL):企业官网;
    EV(增强型SSL):对安全需求更强的企业官网、电商、互联网金融网站
SSL证书的部署类型又分为了单域名、多域名、通配符等类型
百度云可以免费申请为期一年的单域名证书

二、安装证书

常见的Web服务器分为Nginx、Apache、Tomcat、IIS 6、IIS 7/8这几种

Tomcat
    Tomcat 支持JKS格式证书,但从Tomcat7开始也支持PFX格式证书,两种格式任选其一

    在Tomcat的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中。
    找到安装Tomcat目录下该文件server.xml,找到Connection port="8443" 标签,端口号改为443,并根据证书类型添加如下相应属性:
    
        如果是PFX证书
            keystoreFile="cert/你的证书文件名.pfx"
            keystoreType="PKCS12"
            keystorePass="证书密码"
        
        如果是JKS证书
            keystoreFile="cert/你的证书文件名.jks"
            keystorePass="证书密码"
        重启Tomcat

Nginx
    首先在Nginx的安装目录下创建cert目录,将下载的全部文件拷贝到cert目录中。
    打开 Nginx 安装目录下 conf 目录中的 nginx.conf 文件,找到“HTTPS server”部分。
    指定证书路径,为如下示意并保存:
    
        server {
            listen 443;
            server_name 你网站的域名;
            ssl on;
            root html;
            index index.html index.htm;
            ssl_certificate   cert/你的证书文件名.pem;
            ssl_certificate_key  cert/你的证书文件名.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,这时候你的站点应该就已经可以通过https方式访问了

三、设置跳转

http强制跳转到https
Tomcat
    在conf/web.xml中的</web-app>前加入

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

Nginx
    server {

        listen 80;

        server_name 您的域名;

        return 301 https://$server_name$request_uri;

    }

相关文章

网友评论

      本文标题:ssl证书(http升级https)

      本文链接:https://www.haomeiwen.com/subject/rwffiqtx.html