目录

SSL/TLS证书申请

DNS解析

推荐cloudflare,其中CNAME是隐形转发,即设置a.abc.com的CNAME为b.abc.com后,访问b.abc.com时不会跳转到a.abc.com,在地址栏仍显示为b.abc.com

注意,使用cloudflare解析DNS时,不要打开小云朵,只用DNS only

SSL/TLS证书

证书就是对域名进行签名认证

证书是与域名绑定的,若要通过一个域名来访问HTTPS连接,则此域名必须要有对应的证书

证书分为单域名型证书、多域名型证书、泛域名证书

1. 单域名证书:一个证书只能绑定一个域名
2. 泛域名证书(通配符型域名证书):一个证书可以对应多个子域名
3. 多域名证书:一个证书可以对应多个域名,多个子域名或多个主域名都可

证书申请

  1. 单个服务器运行单个服务:申请单域名证书即可
  2. 单个服务器运行多个服务
    1. 若使用域名路径来区分不同服务,如www.abc.com是前端页面,www.abc.com/api/是后端服务,则可以申请单域名证书,然后使用nginx的proxy_pass来转发即可
    2. 如使用不同域名前缀来区分不同服务,如因为条件限制,想在单个服务器上搭建多个互不相关的服务,如status.abc.com是系统状态监控,blog.abc.com是博客网站等等,则最好申请泛域名证书,然后通过nginx的server_name来区分即可。因为若申请单域名证书需要为每个域名都申请一个,维护麻烦

单域名证书

a.abc.com

泛域名证书

*.abc.com

nginx泛域名解析配置

/etc/nginx/conf.d/default.conf

server {
    listen       443 ssl;
    server_name  status.xxx.come;

    ssl_certificate /root/cert/xxx.come/cert.crt;
    ssl_certificate_key /root/cert/xxx.come/private.key;

    location / {
        proxy_pass http://localhost:4000;
    }
}

server {
    listen       443 ssl;
    server_name  file.xxx.come;

    ssl_certificate /root/cert/xxx.come/cert.crt;
    ssl_certificate_key /root/cert/xxx.come/private.key;

    location / {
        proxy_pass http://localhost:9090;
    }
}