现在 SSL 证书的价格越来越亲民了。
最近发现了RapidSSL Online的 40 美金 3 年的廉价 SSL 证书,还是 GeoTrust 的。
忍不住买了一个。
分享一下具体的购买过程。
声明:RapidSSL 没给任何广告费用,因为购买和安装过程十分顺畅,纯分享。
http 协议默认情况下是不加密的。各种密码,邮件,私人信息都是明文传送。
SSL 是 Secure Socket Layer 的简称,具体的作用就是在部署了 SSL 证书的网站跟用户浏览器之间建立一个安全的会话。
以防止信息在互联网任何中间节点上被盗用。
SSL 的工作原理网上很多,这里就不唠叨了,具体可以看这里或者 这里
https://www.rapidsslonline.com/
Standard SSL Certificates
这种证书是最基本的证书,提供商是 GeoTrust。 可以有一个 Common Name, 加入现在的公司后发现购买的是 domain.com 的证书,导致 www.domain.com 不能使用。 在这里提醒一下考虑购买的朋友,买 www.domain.com 就已经包含了 domain.com 的证书,可是买 domain.com 的
如果你有很多子域名需要证书,那么需要下面任意一个:
不过这些都是 300-2000 块美金一年的证书了。
选择 Standard SSL Certificates,RapidSSL. 点击 Buy Now,用 Paypal 付钱。之后你会收到一个邮件。有一个 GeoTrust 生成连接。先不要点击链接,因为需要我们先去部署的服务器上面搞一个 CSR
sudo mkdir /etc/nginx/ssl
cd /etc/nginx/ssl
#生成private key
sudo openssl genrsa -des3 -out server.key 2048
这里问你输入一个passphrase,选择一个容易记得,下一步会需要输入。
#生成 CSR
sudo openssl req -new -key server.key -out server.csr
Country Name (2 letter code) [AU]:US #国家代码
State or Province Name (full name) [Some-State]:New York #省份
Locality Name (eg, city) []:NYC #城市
Organization Name (eg, company) [Internet Widgits Pty Ltd]:Awesome Inc #公司名称
Organizational Unit Name (eg, section) []: #部门名称
Common Name (e.g. server FQDN or YOUR name) []: www.example.com
Email Address []: [email protected] #管理员邮箱
生成之后,就可以点击 GeoTrust 的连接,然后 CSR 那个框框里面填入 server.csr 文件的内容。然后选择你的管理员邮箱完成表单。这里一定要选一个可靠的邮箱,因为证书是通过邮箱发送给你的。
完成之后,邮箱会收到一个 Approval 的邮件,点击连接后选择 Approve。
下一个邮件就会收到证书了。
收到证书后,再/etc/nginx/ssl 文件夹下面新建一个 server.crt 的文件,把证书内容粘贴进去。证书这部分就搞定了。
我们的 private key 是有 passphrase 的,我们需要去掉 private key 的 passphrase 才能让 Nginx 自由自在的启动。
sudo cp server.key server.key.org sudo openssl rsa -in server.key.org -out server.key
之后再 nginx.conf 中配置
server {
listen 443;
server_name example.com;
root /usr/share/nginx/www;
index index.html index.htm;
ssl on;
ssl_certificate /etc/nginx/ssl/server.crt;
ssl_certificate_key /etc/nginx/ssl/server.key;
}
如果想把 http 的请求转到 https 的话:
server {
listen 80;
server_name example.me;
rewrite ^ https://$server_name$request_uri? permanent;
}