在Nginx中使用Godaddy的SSL证书
2024-09-03 17:43:05
首先在Godaddy付款购买SSL证书,成功之后打开管理面板,找到刚购买的SSL证书,点击新建证书,这个时候Godaddy会让提供CSR文件内容,可以通过下面的命令行生成csr内容:
openssl genrsa -des3 -out <name of your certificate>.key
openssl req -new -key <name of your certificate>.key -out <name of your certificate>.csr
将上面替换成真实的文件名,第一个命令行生成的是证书,在第二步的时候提示输入一些信息,其中Common Name (e.g. server FQDN or YOUR name) 是需要使用的证书的域名。对于普通的DV(域名验证) SSL证书 只需要保证CN(Common Name)字段填上你的域名即可,而对于高级的OV(组织验证),EV(扩展验证)证书都需要向CA提交相关资料。
将生成的csr文件内容复制粘贴到Godaddy的文本框中,提交之后会向域名所有人的邮箱发送一个域名验证的链接,验证成功之后就可以下载证书。Godaddy会提供两个crt文件,一个是随机字符串命名(如7d3ed5e3ef729196.crt),另一个以gd_bundle开头(如gd_bundle-g2-g1.crt),需要执行下面的命令将这两个文件合并成一个文件:
cat 7d3ed5e3ef729196.crt gd_bundle-g2-g1.crt > <name of your certificate>.csr
如果想在Nginx中使用需要Nginx支持SSL,可以参考 让Nginx多个虚拟主机支持SSL 这篇文章。
将上面的key文件和合并后的csr文件放到nginx的conf/ssl目录下,然后修改成如下设置:
server {
listen ;
server_name www.examples.com;
index index.php; ssl on;
ssl_certificate ssl/domain.crt;
ssl_certificate_key ssl/domain.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1. TLSv1.;
ssl_ciphers ALL:!ADH:!EXPORT56:!RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;
不过这样设置之后,如果启动Nginx的时候会要求输入key证书的密码,可以生成一个解密的key文件:
openssl rsa -in domain.key -out domain.key.unsecure
输入证书的密码就可以了,然后将上述的domain.key替换成domain.key.unsecure。
最新文章
- Simple File System
- Java开发环境的配置
- centos7编译安装pure-ftpd-1.0.42
- 用java程序打印菱形
- memcached启动参数
- android利用数字证书对程序签名
- 4010: [HNOI2015]菜肴制作
- 使用原生js与jQuery分别实现一个简单的tab页签
- Docker 安装jupyter notebook
- QT中异形窗口的绘制(winEvent处理WM_NCHITTEST消息)
- 转载:JAVA中使用JSON进行数据传递
- .NET Framework 4.5新特性
- 多线程之Map:Hashtable HashMap 以及ConcurrentHashMap
- [ACM] POJ 2635 The Embarrassed Cryptographer (同余定理,素数打表)
- ElasticSearch(四):使用Java连接ElasticSearch集群
- ACM-ICPC 2018 南京赛区网络预赛 E AC Challenge(状压dp)
- C# 判断字符串是否符合十六进制,八进制,二进制和十进制整数格式的正则表达式
- mysql学习笔记一 —— 数据的增删改查
- Utunbu常见问题
- c++——引用的使用