以前一直没有了解,今天花了点时间搞了搞,没什么难度。

web服务器用的是nginx。


首先需要确认一下nginx是否安装了SSL模块,如下的命令:

nginx -V

显示的结果中如果包含

--with-http_ssl_module

那么安装就很简单了,否则还需要编译nginx将ssl模块编进去,这里就不详述了,google一下就能找到


接下来,需要将nginx的ssl模块启用。我的nginx版本是1.2.6,在安装完之后,它给出了一个示例文件。

cd/etc/nginx/conf.d/
ls

发现其下有一个example_ssl.conf文件。打开一看,全都注释掉了,我们把注释都打开,改成如下:

# HTTPS server
#
server {
listen       443;
server_name  demo;
ssl                  on;
#ssl_certificate      /etc/nginx/cert.pem;
ssl_certificate     /etc/nginx/cert.crt;
ssl_certificate_key /etc/nginx/cert.key;
ssl_session_timeout  5m;
ssl_protocols  SSLv2 SSLv3 TLSv1;
ssl_ciphers  HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers   on;
location / {
root  /data/www;
index  index.html index.htm index.php;
}
location ~ \.php$ {
root          /data/www;
fastcgi_pass   127.0.0.1:9000;
fastcgi_index  index.php;
fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
include        fastcgi_params;
}
}

这里有两个文件需要说明一下,它们一个是cert.crt,另一个是cert.key

这两个都是跟认证有关的文件,我们暂时还没有。由于是内网的测试环境,我们可以自己去生成这两个文件。


生成的办法如下:


1.进入到要生成文件的目录,然后使用openssl