最近有个项目需要在nginx上配置ssl具体实施部署方法如下:

创建nginx证书配置目录

#mkdir -p /usr/local/nginx/conf/ssl

进入nginx配置文件目录/usr/local/nginx/ssl

#cd /usr/local/nginx/conf/ssl

在服务器上生成私钥

#openssl genrsa -out server.key 2048

生成csr文件

#openssl req -new -key server.key -out server.csrYou are about to be asked to enter information that will be incorporatedinto your certificate request.What you are about to enter is what is called a Distinguished Name or a DN.There are quite a few fields but you can leave some blankFor some fields there will be a default value,If you enter '.', the field will be left blank.-----Country Name (2 letter code) [XX]:State or Province Name (full name) []:Locality Name (eg, city) [Default City]:Organization Name (eg, company) [Default Company Ltd]:Organizational Unit Name (eg, section) []:Common Name (eg, your name or your server's hostname) []:  自己需要ssl的域名 Email Address []:Please enter the following 'extra' attributesto be sent with your certificate requestA challenge password []:An optional company name []:

生成好csr文件后需要把这个文件提交给证书供应商让他们颁发证书。

证书颁发好之后需要把证书文件(server.cer)、server.key、server.csr这三个文件放到nginx ssl配置目录中

“/usr/local/nginx/conf/ssl“

在nginx.conf里配置ssl

server {        

        listen 443;
        server_name www.xxx.com;
        ssl on;
        ssl_certificate  /usr/local/nginx/conf/server.cer;
        ssl_certificate_key  /usr/local/nginx/conf/server.key;
        ssl_session_timeout 5m;
        ssl_protocols SSLv2 SSLv3 TLSv1;
        ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
        ssl_prefer_server_ciphers on;

          location / { root html; index index.html index.htm; }

}

重启nginx