学编程课对孩子有什么好处,seo如何分析网站,提供网站建设教程的网站,深圳哪里可以做网站目录 前言一、SSL 证书购买二、配置监听器三、Nginx SSL 配置FAQ 前言
之前写了一篇关于 SSL 证书的文章《Nginx 自签证书实现80转443》#xff0c;不过这是自签证书的形式进行部署的#xff0c;尽管能正常访问#xff0c;但依然显示是不安全的#xff0c;因为自签证书是得… 目录 前言一、SSL 证书购买二、配置监听器三、Nginx SSL 配置FAQ 前言
之前写了一篇关于 SSL 证书的文章《Nginx 自签证书实现80转443》不过这是自签证书的形式进行部署的尽管能正常访问但依然显示是不安全的因为自签证书是得不到认可的。因开发人员需要 https 方式请求对接各种数据我们公司使用的是腾讯云服务器为满足开发需求于是就在腾讯云上购买了一个免费的 SSL 证书并进行相关的部署配置接下来简单说一下部署配置过程和要注意的相关事项。
一、SSL 证书购买
1、域名解析
首先你得有域名和云服务器并做了对应的域名解析主域名和子域名如果你有用到负载均衡器CLB该负载均衡会有对应的 vip也是需要事先把你得主域名和子域名解析到负载均衡 vip这里我以负载均衡的形式进行演示。
2、购买 SSL证书
购买方式请参考腾讯云文档《域名型DV免费 SSL 证书申请流程》该文档记录得很详细免费证书提供二级域名证书申请而且只能申请单个域名证书而不能申请泛域名证书除非购买付费证书。其主要步骤如下 选择证书类型TrustAsia TLS RSA CA填写证书内容 提交资料选择加密算法、绑定的域名、申请邮箱、备注、私钥等。注意如需部署腾讯云负载均衡、CDN 等云服务请勿填写私钥密码。选择验证方式自动添加 DNS、DNS 验证、文件验证。注意自2021年12月01日起对于使用文件验证方式的域名只能为当前被验证的域名签发证书不支持签发通配符 SSL 证书和其下级子域名 SSL 证书。我这里使用的是【自动添加 DNS】该方式的限制条件须使用腾讯云 DNS 解析 DNSPod 的域名。验证域名如果选择了【自动添加 DNS】它会自动完成域名所有权验证。签发证书验证通过后会签发对应的域名证书。
3、下载证书到本地并上传至服务器 二、配置监听器
登录腾讯云负载均衡控制台配置监听器配置步骤参考腾讯云文档《配置 HTTPS 监听器》CLB 与后端服务器的协议选用 HTTP/80。想要 http 和 https 都能访问也需要同时配置这两个监听器。由于篇幅较长不再做详细概述如要了解均衡方式、会话保持、重定向等可参考腾讯云文档《负载均衡》。
三、Nginx SSL 配置
1、证书内容
各类服务器系统证书 SSL 安装部署我使用的是 Linux 系统的 Nginx 方式进行安装部署下图为证书所包含的内容可以看到该证书可应用于 Apache、IIS、Nginx、Tomcat根据实际情况选择对应的服务即可。 2、Nginx 配置
这里有几种方式可选择 直接以 https 形式访问以腾讯云为例子 server {# SSL 访问端口号为 443listen 443 ssl; # 填写绑定证书的域名server_name cloud.tencent.com; # 证书文件名称若证书没和nginx配置文件在同级目录下则须使用绝对路径ssl_certificate 1_cloud.tencent.com_bundle.crt; # 私钥文件名称若私钥没和nginx配置文件在同级目录下则须使用绝对路径ssl_certificate_key 2_cloud.tencent.com.key; ssl_session_timeout 5m;# 请按照以下协议配置ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # 请按照以下套件配置配置加密套件写法遵循 openssl 标准。ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE; ssl_prefer_server_ciphers on;location / {# 网站主页路径。此路径仅供参考具体请您按照实际目录操作。root html; index index.html index.htm;}
}nginx -t # 看看语法是否有错有错的话需要先解决错误否则修改的配置不生效
nginx -s reload # 重载Nginxhttp 转 https以腾讯云为例子 server {
listen 443 ssl;
# 填写绑定证书的域名
server_name cloud.tencent.com;
# 证书文件名称若证书没和nginx配置文件在同级目录下则须使用绝对路径
ssl_certificate 1_cloud.tencent.com_bundle.crt;
# 私钥文件名称若私钥没和nginx配置文件在同级目录下则须使用绝对路径
ssl_certificate_key 2_cloud.tencent.com.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;
}
}
server {
listen 80;
# 填写绑定证书的域名
server_name cloud.tencent.com;
# 把http的域名请求转成https永久重定向
return 301 https://$host$request_uri;
}nginx -t # 看看语法是否有错有错的话需要先解决错误否则修改的配置不生效
nginx -s reload # 重载Nginxhttp 和 https 均可访问以腾讯云为例子也可参考我前面的博文《Nginx 自签证书实现80转443》。 server {
listen 80;
listen 443 ssl;
# 填写绑定证书的域名
server_name cloud.tencent.com;
# 证书文件名称若证书没和nginx配置文件在同级目录下则须使用绝对路径
ssl_certificate 1_cloud.tencent.com_bundle.crt;
# 私钥文件名称若私钥没和nginx配置文件在同级目录下则须使用绝对路径
ssl_certificate_key 2_cloud.tencent.com.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 # 重载NginxFAQ 域名解析问题 在申请 SSL 证书前需对证书要绑定的域名进行域名解析目的是为了域名验证时进行自动添加 DNS否则可能会导致域名所有权验证失败从而无法签发证书。 监听器配置问题 SSL 证书签发后负载均衡器需配置 HTTPS 监听器并绑定相应的后端服务器看其健康状态负载均衡器与后端服务器以 HTTP 形式通信即可。 端口过滤问题 Nginx 配置好后还需注意端口是否开放问题这个端口开放是负载均衡器的编辑负载均衡器的安全组放开 443 端口这里也需要注意有的公司内部是对端口做限制的也需要公司内部进行放开要不然你们公司内部是无法访问的而公司外部的其他人员都是可以正常访问的。这里提供一个端口、解析检测的方法大家可以参考以 www.baidu.com 为例 1如果你 SSL 证书绑定的域名无法访问页面时可用 dig 命令看看解析是否正确。 2如果上述解析没问题但依然不能访问再使用 nmap 进行端口扫描看看端口是否被过滤掉了。前提你的服务已监听了该端口netstat -lntp 查看
点击跳转至开头