给Nginx配置一个自签名的SSL证书

转自廖雪峰的官方网站http://www.liaoxuefeng.com/

要保证Web浏览器到服务器的安全连接,HTTPS几乎是唯一选择。HTTPS其实就是HTTP over SSL,也就是让HTTP连接建立在SSL安全连接之上。

SSL使用证书来创建安全连接。有两种验证模式:

  1. 仅客户端验证服务器的证书,客户端自己不提供证书;

  2. 客户端和服务器都互相验证对方的证书。

显然第二种方式安全性更高,一般用网上银行会这么搞,但是,普通的Web网站只能采用第一种方式。

客户端如何验证服务器的证书呢?服务器自己的证书必须经过某“权威”证书的签名,而这个“权威”证书又可能经过更权威的证书签名,这么一级一级追溯 上去,最顶层那个最权威的证书就称为根证书。根证书直接内置在浏览器中,这样,浏览器就可以利用自己自带的根证书去验证某个服务器的证书是否有效。

如果要提供一个有效的证书,服务器的证书必须从VeriSign这样的证书颁发机构签名,这样,浏览器就可以验证通过,否则,浏览器给出一个证书无效的警告。

申请一个证书签名的费用是一年几十~几百刀不等,所以如果只是出于管理目的,可以创建自签名证书,保证管理员通过浏览器安全连接到服务器。

下面简单介绍如何创建一个自签名的SSL证书。

创建自签名证书需要安装openssl,使用以下步骤:

  1. 创建Key;

  2. 创建签名请求;

  3. 将Key的口令移除;

  4. 用Key签名证书。

为HTTPS准备的证书需要注意,创建的签名请求的CN必须与域名完全一致,否则无法通过浏览器验证。

以上步骤命令繁琐,所以我做了一个shell脚本,能一次性把证书搞定。从这里下载脚本:

https://github.com/michaelliao/itranswarp.js/blob/master/conf/ssl/gencert.sh

运行脚本,假设你的域名是www.test.com,那么按照提示输入

$ ./gencert.sh
Enter your domain [www.example.com]: www.test.com
Create server key...
Generating RSA private key, bit long modulus
.................++++++
.....++++++
e is (0x10001)
Enter pass phrase for www.test.com.key:输入口令
Verifying - Enter pass phrase for www.test.com.key:输入口令
Create server certificate signing request...
Enter pass phrase for www.test.com.key:输入口令
Remove password...
Enter pass phrase for www.test.com.origin.key:输入口令
writing RSA key
Sign SSL certificate...
Signature ok
subject=/C=US/ST=Mars/L=iTranswarp/O=iTranswarp/OU=iTranswarp/CN=www.test.com
Getting Private key
TODO:
Copy www.test.com.crt to /etc/nginx/ssl/www.test.com.crt
Copy www.test.com.key to /etc/nginx/ssl/www.test.com.key
Add configuration in nginx:
server {
...
ssl on;
ssl_certificate /etc/nginx/ssl/www.test.com.crt;
ssl_certificate_key /etc/nginx/ssl/www.test.com.key;
}

红色部分是输入,注意4次输入的口令都是一样的。

在当前目录下会创建出4个文件:

  • www.test.com.crt:自签名的证书
  • www.test.com.csr:证书的请求
  • www.test.com.key:不带口令的Key
  • www.test.com.origin.key:带口令的Key

Web服务器需要把www.test.com.crt发给浏览器验证,然后用www.test.com.key解密浏览器发送的数据,剩下两个文件不需要上传到Web服务器上。

以Nginx为例,需要在server {...}中配置:

server {
...
ssl on;
ssl_certificate /etc/nginx/ssl/www.test.com.crt;
ssl_certificate_key /etc/nginx/ssl/www.test.com.key;
}

如果一切顺利,打开浏览器,就可以通过HTTPS访问网站。第一次访问时会出现警告(因为我们的自签名证书不被浏览器信任),把证书通过浏览器导入到系统 (Windows使用IE导入,Mac使用Safari导入)并设置为“受信任”,以后该电脑访问网站就可以安全地连接Web服务器了:

aaarticlea/png;base64,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" alt="" />

如何在应用服务器中配置证书呢?例如Tomcat,gunicorn等。正确的做法是不配置,让Nginx处理HTTPS,然后通过proxy以HTTP 连接后端的应用服务器,相当于利用Nginx作为HTTPS到HTTP的安全代理,这样即利用了Nginx的HTTP/HTTPS处理能力,又避免了应用 服务器不擅长HTTPS的缺点

上一篇:[转] 基于TINY4412的Andorid开发-------简单的LED灯控制


下一篇:如何使用命令提示符进入mysql