阿里云购买的域名,买的ssl证书,怎么让证书有效?怎么配置证书到域名上面去

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了阿里云购买的域名,买的ssl证书,怎么让证书有效?怎么配置证书到域名上面去相关的知识,希望对你有一定的参考价值。

阿里云的SSL证书是部署到服务器中去的,这个操作起来比较复杂的情况。不是一句两句话能说明白了的。

阿里云SSL证书服务可提供nginx服务器、Apache服务器、Tomcat服务器、IIS服务器和其他服务器类型证书下载并安装到对应的服务器中。

不同格式的证书下载解压后可能包含以下文件:

    .key文件是证书私钥文件,如果申请证书时没有选择系统创建CSR,则没有该文件。请您保存好该私钥文件。

    .crt文件是证书文件,一般包含两段内容。如果是Apache服务器,会将证书文件拆分成 _public.crt(证书文件)和_chain.crt(证书链或中间证书文件)。

    .pem文件是证书文件,一般包含两段内容。Nginx证书会使用扩展名文件,在阿里云SSL证书中与.crt文件一样。

具体操作步骤就更多了, 根据上面提到的不同服务器种类,有对应的操作步骤,你还是去看看阿里云SSL证书部署文档吧,给你看看下面的部分安装指南,有这么多种。

参考技术A SSL证书不是配置到域名的,是安装到独立服务器或云服务器,这个部署过程比较复杂。

腾讯云域名申请+ssl证书申请+springboot配置https

阿里云域名申请

  域名申请比较简单,使用微信注册阿里云账号并登陆,点击产品,选择域名注册

  输入你想注册的域名

  进入域名购买页面,搜索可用的后缀及价格,越热门的后缀(.com,.cn)越贵一般,并且很可能已经被注册。

  最后,付款购买即可。

申请ssl证书

  还是进入首页,点击产品按钮,在下拉菜单中选择ssl证书,进入后点立即购买,在下图中做如下选择

  ssl证书是要与域名绑定的,按要求填好域名和邮箱,密码可以不填

  填写好,选择下一步,然后选择手动dns,提交,然后查看证书详情。

  

  进入域名解析页面,找到你刚创建的域名,点击解析,添加上面的记录

  稍等1分钟,审核就会通过,然后就可以下载ssl证书,加压后有对应nginx、tomcat、apache等的证书,我们配置springboot,所以选择tomcat。

springboot配置https

  新建一个springboot项目,加入web模块,将我们的证书copy到resrouce目录下,同时在application.yml中添加如下配置。

server:
  port: 443
  ssl: 
    enabled: true
    key-store-password: o7yp31t85gu
    key-store: classpath:hehang.xyz.jks
    key-store-type: JKS
condition: 
  http2https: true 
http: 
  port: 80 

  修改启动器,使其支持将http请求自动转化为https请求

package io.powerx;

import org.apache.catalina.Context;
import org.apache.catalina.connector.Connector;
import org.apache.tomcat.util.descriptor.web.SecurityCollection;
import org.apache.tomcat.util.descriptor.web.SecurityConstraint;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
import org.springframework.context.annotation.Bean;

@SpringBootApplication
public class TestsslApplication {
    public static void main(String[] args) {
        SpringApplication.run(TestsslApplication.class, args);
    }

    // 如果没有使用默认值80
    @Value("${http.port:80}")
    Integer httpPort;

    // 正常启用的https端口 如443
    @Value("${server.port}")
    Integer httpsPort;

    // springboot2 写法
    @Bean
    @ConditionalOnProperty(name = "condition.http2https", havingValue = "true", matchIfMissing = false)
    public TomcatServletWebServerFactory servletContainer() {
        TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory() {
            @Override
            protected void postProcessContext(Context context) {
                SecurityConstraint constraint = new SecurityConstraint();
                constraint.setUserConstraint("CONFIDENTIAL");
                SecurityCollection collection = new SecurityCollection();
                collection.addPattern("/*");
                constraint.addCollection(collection);
                context.addConstraint(constraint);
            }
        };
        tomcat.addAdditionalTomcatConnectors(httpConnector());
        return tomcat;
    }

    @Bean
    @ConditionalOnProperty(name = "condition.http2https", havingValue = "true", matchIfMissing = false)
    public Connector httpConnector() {
        System.out.println("启用http转https协议,http端口:" + this.httpPort + ",https端口:" + this.httpsPort);
        Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
        connector.setScheme("http");
        // Connector监听的http的端口号
        connector.setPort(httpPort);
        connector.setSecure(false);
        // 监听到http的端口号后转向到的https的端口号
        connector.setRedirectPort(httpsPort);
        return connector;
    }
}

  最后也是最重要的,如果你使用的是云服务器,那么只需要在腾讯云平台配置下域名解析(选择快速添加网站,配置云服务器的公网ip,按照提示添加下面两条记录),注意配置安全组,开放80和443端口,然后将项目打包部署到云服务器上即可。

  如果你是在本地服务器部署,则首先需要进行外网映射配置,我这里就是将我要部署的服务器映射到公网ip的1234端口(也想用80端口,无奈没有开通),然后再去腾讯云配置域名解析,最后部署即可,贴上我的安全标示,哈哈

 

以上是关于阿里云购买的域名,买的ssl证书,怎么让证书有效?怎么配置证书到域名上面去的主要内容,如果未能解决你的问题,请参考以下文章

如何在阿里云申请免费SSL证书

阿里云服务器域名配置

腾讯云域名申请+ssl证书申请+springboot配置https

httpd开启ssl认证

阿里云 SSL 证书 总结

阿里云如何配置https域名解析