默认情况下ssl模块并未被安装,如果要使用该模块则需要在编译时指定–with-http_ssl_module参数,安装模块依赖于OpenSSL库和一些引用文件,通常这些文件并不在同一个软件包中。通常这个文件名类似libssl-dev 1. 生成证书 1.1创建服务器私钥 mkdir–p /application/nginx/sslkey/ #创建证书目录 cd/application/nginx/sslkey/ opensslgenrsa -des3 -out server.key 1024 #创建证书输入密码 GeneratingRSA private key, 1024 bit long modulus .++++++ ............................................................++++++ eis 65537 (0x10001) Enterpass phrase for server.key: Verifying- Enter pass phrase for server.key: 1.2创建签名请求的证书(CSR) [root@web02sslkey]# openssl req -new -key server.key -out server.csr
Enter pass phrase forserver.key: (输入上一步设置的密码)
You are about to beasked to enter information that will be incorporated
into your certificaterequest.
What you are about toenter is what is called a Distinguished Name or a DN.
There are quite a fewfields but you can leave some blank
For some fields therewill be a default value,
If you enter '.', thefield will be left blank.
-----
Country Name (2 lettercode) [XX]:CN
State or Province Name(full name) []:bj
Locality Name (eg,city) [Default City]:bj
Organization Name (eg,company) [Default Company Ltd]:bj
Organizational UnitName (eg, section) []:bj
Common Name (eg, yourname or your server's hostname) []:bj
Email Address []:bj
Please enter thefollowing 'extra' attributes
to be sent with yourcertificate request
A challenge password[]:123456
An optional companyname []:123456 1.3在加载SSL支持的Nginx并使用上述私钥时除去必须的口令: [root@web02sslkey]# cp server.key server.key.org [root@web02sslkey]# openssl rsa -in server.key.org-out server.key Enterpass phrase for server.key.org: writingRSA key 1.4最后标记证书使用上述私钥和CSR [root@web02sslkey]# openssl x509 -req -days 365 -in server.csr -signkey server.key -outserver.crt
Signature ok
subject=/C=CN/ST=bj/L=bj/O=bj/OU=bj/CN=bj/emailAddress=bj
Getting Private key 2. 配置nginx 2.1修改Nginx配置文件
vim blog.conf #在开头加入下面几行
server_nameblog.etiantian.org;
listen 443;
ssl on;
ssl_certificate/application/nginx/sslkey/server.crt;
ssl_certificate_key/application/nginx/sslkey/server.key;