GoDaddy获取的ssl证书,在nginx环境下部署问题

Godaddy SSL证书在CentOS下Nginx配置HTTPS

今天在centos下部署了一个项目,使用了nginx,在配置https的时候遇到了不少的问题,记录一下

 

平时在阿里云或者腾讯云之类的平台申请到的ssl证书一般包含两个文件,一个pem文件,一个key文件,分别对应上即可

但是在Godaddy获取到的证书是没有.key文件的,所以一直部署不成功,需要先手动生成CSR和key,这个CSR可以用于在官网重新生成密钥等一系列操作。

具体步骤如下:

openssl req -new -newkey rsa:2048 -nodes -keyout 你的域名.key -out 你的域名.csr

然后会提示你输入相关的一些信息,大概参考如下:

获取到CSR后,我在官网重新申请了一个证书,然后把证书下载下来,会包含两个crt文件,以及一个pem文件

(这里需要注意一下,下载证书的时候没有nginx选项,nginx需要下载apache的证书)

下载好证书后把这些文件统一上传到服务器上,例如cert目录,

然后在上传的目录中执行如下命令

cat f84e19a2f44c6386(证书文件名称).crt gd_bundle-g2-g1.crt(另一个文件的名称) >> 你的域名.crt

//这里需要按顺
### 一、服务器配置 HTTPS 协议 要将 HTTP 网站配置为 HTTPS,首先需要在服务器上配置 HTTPS 协议。HTTPS 是基于 SSL/TLS 协议实现的加密通信,因此需要在服务器上安装 SSL 证书。常见的 Web 服务器(如 Nginx、Apache、IIS 等)均支持 HTTPS 配置。 在 Nginx 中,需要修改配置文件以监听 443 端口,并启用 SSL 模块。示例配置如下: ```nginx server { listen 80; server_name example.com; return 301 https://$host$request_uri; } server { listen 443 ssl; server_name example.com; ssl_certificate /path/to/fullchain.pem; ssl_certificate_key /path/to/privkey.pem; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:!aNULL:!MD5; location / { root /var/www/html; index index.html; } } ``` 该配置实现了 HTTP 到 HTTPS 的强制跳转,并启用了 SSL 加密服务[^3]。 ### 二、SSL 证书获取方式 在配置 HTTPS 之前,需要先获取 SSL 证书。常见的获取方式包括: 1. **通过 CA 机构申请付费证书** 可通过 DigiCert、Sectigo、GoDaddy 等 CA 机构购买 SSL 证书,适用于企业级网站,提供更高的信任级别和安全性。 2. **使用自签名根证书颁发 SSL 证书** 适用于内部测试或私有网络环境,但不会被主流浏览器信任,需手动将根证书添加到客户端信任列表中[^1]。 3. **使用 OpenSSL 生成证书** 可通过命令行工具 OpenSSL 自行生成自签名证书,适用于开发环境或临时使用。 示例命令: ```bash openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365 ``` 4. **使用免费证书服务商** Let's Encrypt 提供免费的 SSL 证书,广泛用于个人网站和小型项目。可通过 Certbot 工具自动申请和部署证书。 ### 三、部署证书并重启服务 在获取 SSL 证书后,需将其部署到 Web 服务器中。以 Nginx 为例,需将证书文件和私钥文件配置到 `ssl_certificate` 和 `ssl_certificate_key` 指令中,并重启服务使配置生效。 ```bash sudo systemctl restart nginx ``` 在 IIS 中,需通过“服务器证书”功能导入证书,并在站点绑定中添加 443 端口的 HTTPS 配置[^4]。 ### 四、配置 HTTP 到 HTTPS 的重定向 为了确保用户始终通过 HTTPS 访问网站,应配置 HTTP 请求自动跳转至 HTTPS。在 Nginx 中,可通过以下配置实现: ```nginx server { listen 80; server_name example.com; return 301 https://$host$request_uri; } ``` 在 IIS 中,可通过 URL 重写模块配置重定向规则,操作类型为“重定向”,重定向 URL 为 `https://{HTTP_HOST}/{R:1}`,并选择“永久(301)”重定向类型。 ### 五、双向认证与客户端信任 如果需要实现双向认证(客户端也需要提供证书),则需将根证书添加到客户端系统的信任列表中。在 Windows 系统中,可通过“管理证书”工具将根证书导入“受信任的根证书颁发机构”存储区[^1]。 ### 六、验证 HTTPS 配置 配置完成后,建议使用在线工具(如 SSL Labs 的 [SSL Test](https://www.ssllabs.com/ssltest/))对网站的 HTTPS 配置进行评估,确保加密协议、证书链、安全性设置等均符合最佳实践。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值