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. 多域名证书:一个证书可以对应多个域名,多个子域名或多个主域名都可
证书申请
- 单个服务器运行单个服务:申请单域名证书即可
- 单个服务器运行多个服务
- 若使用域名路径来区分不同服务,如
www.abc.com是前端页面,www.abc.com/api/是后端服务,则可以申请单域名证书,然后使用nginx的proxy_pass来转发即可 - 如使用不同域名前缀来区分不同服务,如因为条件限制,想在单个服务器上搭建多个互不相关的服务,如
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;
}
}