前提:

    1、主机要先安装openssl

    2、编译安装nginx时,要加上--with-openssl和--with-http_ssl_module

1、生成自签字证书

[root@101 /]# openssl req -new -x509 -keyout /root/ca.key -out /root/ca.crtGenerating a 2048 bit RSA private key.............+++...................................+++writing new private key to '/root/ca.key'Enter PEM pass phrase:        #输入密钥保护密码Verifying - Enter PEM pass phrase:    #确认密码保护密码-----You 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]:CNState or Province Name (full name) []:guangzhouLocality Name (eg, city) [Default City]:guangzhouOrganization Name (eg, company) [Default Company Ltd]:lzsOrganizational Unit Name (eg, section) []:itCommon Name (eg, your name or your server's hostname) []:101.lzs.comEmail Address []:root@lzs.com

2、修改配置文件openssl.cnf

vim /etc/pki/tls/openssl.cnf[ ca ]default_ca      = CA_default            # The default ca section####################################################################[ CA_default ]dir             = /etc/pki/CA           #证书的根目录,要记住这个目录certs           = $dir/certs            crl_dir         = $dir/crl              database        = $dir/index.txt       #unique_subject = no                                                           new_certs_dir   = $dir/newcerts        certificate     = $dir/ca.crt       # 修改这里,表示签名时使用的证书serial          = $dir/serial          crlnumber       = $dir/crlnumber                                                crl             = $dir/crl.pem         private_key     = $dir/private/cakey.pemRANDFILE        = $dir/private/.rand

3、复制证书到证书根目录/etc/pki/CA下,并在该目录下创建空文件index.txt和serial,并向serial输入”01“

cd /etc/pki/CAcp /root/ca.crt .touch index.txttouch serialecho "01" >serial

4、生成服务器RSA私钥/root/server.key

openssl genrsa -des3 -out /root/server.key 1024

5、为私钥去除口令

openssl rsa -in /root/server.key -out /root/server_nopwd.key

5、生成证书请求文件/root/server.csr

[root@101 /]# openssl req -new -key /root/server.key -out /root/server.csrEnter pass phrase for /root/server.key:    #输入第4步生成的密钥的保护密码You 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]:CNState or Province Name (full name) []:guangzhouLocality Name (eg, city) [Default City]:guangzhouOrganization Name (eg, company) [Default Company Ltd]:lzsOrganizational Unit Name (eg, section) []:itCommon Name (eg, your name or your server's hostname) []:101.lzs.com----------------------------------------------------------------Email Address []:root@lzs.comPlease enter the following 'extra' attributesto be sent with your certificate requestA challenge password []:www.lzs.comAn optional company name []:lzs

6、用私有证书给证书请求文件/root/server.csr签名

[root@101 CA]# openssl ca -in /root/server.csr -out /root/server.crt -cert /root/ca.crt -keyfile /root/ca.key -config /etc/pki/tls/openssl.cnfUsing configuration from /etc/pki/tls/openssl.cnfEnter pass phrase for ca.key:Check that the request matches the signatureSignature okCertificate Details:        Serial Number: 1 (0x1)        Validity            Not Before: Aug 31 14:09:15 2016 GMT            Not After : Aug 31 14:09:15 2017 GMT        Subject:            countryName               = CN            stateOrProvinceName       = guangzhou            organizationName          = lzs            organizationalUnitName    = it            commonName                = 101.lzs.com            emailAddress              = root@lzs.com        X509v3 extensions:            X509v3 Basic Constraints:                 CA:FALSE            Netscape Comment:                 OpenSSL Generated Certificate            X509v3 Subject Key Identifier:                 18:80:30:B7:C6:11:61:AE:F3:62:9D:D0:33:D9:97:CB:45:5A:31:91            X509v3 Authority Key Identifier:                 keyid:DA:99:4B:9B:29:A8:D8:14:54:FA:52:4B:1E:C3:E0:81:C6:A6:EF:42Certificate is to be certified until Aug 31 14:09:15 2017 GMT (365 days)Sign the certificate? [y/n]:yes1 out of 1 certificate requests certified, commit? [y/n]yWrite out database with 1 new entriesData Base Updated

7、编辑nginx配置文件/etc/nginx/nginx.conf

-------在配置文件的特定区域加入/修改下面内容server {        listen       443 ssl;        #设置监听的端口        server_name  lzs;        ssl     on;        ssl_certificate /root/server.crt;        ssl_certificate_key     /root/server_nopwd.key;

8、重启服务

~~~~完成,在客户端上输入https://x.x.x.x即可访问