在nginx上配置ssl

配置nginx之前需要安装nginx的时候安装上支持ssl的模块

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
 ./configure --prefix=/opt/server/nginx --with-md5=/usr/lib --with-sha1=/usr/lib --with-pcre  --with-http_perl_module  --with-http_stub_status_module --with-http_ssl_module  --with-http_gzip_static_module  --with-http_random_index_module  --with-http_dav_module --with-poll_module 
```

首先是生成key和csr文件,这个当中需要填写相关信息。这个比较简单。key一般就是1024位的。有特殊需求要仔细咨询CA。

```c
openssl genrsa -des3 -out pay.key 1024 openssl req -new -key pay.key -out pay.csr
```

接着从CA网站上下载相应的中间证书,保存为intermedia.cer。等你想CA提交CSR之后,CA会单独通过邮件发给你一个证书,请保存为pay.cer。

上面都是申请SSL常规流程,下面是nginx配置需要注意的内容。首先要把intermedia.cer的内容追加到pay.cer

```c
cat  intermedia.cer >> pay.cer
```

接着需要配置nginx.conf的配置文件了,如下:

```c
ssl                        on; ssl_certificate      /data/key/nginx/pay.cer; ssl_certificate_key  /data/key/nginx/pay.key; ssl_client_certificate /data/key/nginx/intermedia.cer; ssl_session_timeout  5m; ssl_protocols  SSLv3 TLSv1; ssl_ciphers  ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP; ssl_prefer_server_ciphers   on; error_page 497 "https://$host$uri?$args";