本文共 2481 字,大约阅读时间需要 8 分钟。
1. 创建key server.key 可以随意修改server部分。例如:baidu.key openssl genrsa -des3 -out server.key 2048 输入密码即可。 如果不要口令,则可用以下命令去除口令: openssl rsa -in server.key -out server.key 2. 创建 csr server.key为创建key时输入的文件名:baidu.key server.csr 可以随意修改server部分。例如:baidu.csr openssl req -new -key server.key -out server.csr 按流程填写,如 Country Name (2 letter code) [GB]: JP //国家 例如 :CN State or Province Name (full name) [Berkshire]:Tokyo // 州或省的名称,必须是全称 Locality Name (eg, city) [Newbury]:Bunkyo-ku // 城市名称 Organization Name (eg, company) [My Company Ltd]: BaiDu // 公司名称 Organizational Unit Name (eg, section) :BAIDU //项目名称 Common Name (eg, your name or your server's hostname) []:abc.com //项目url。例如:baidu.com 不包含http:// Email Address []:youxiang@sina.com // 注意邮件地址要和注册域名时的邮件地址一样 Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []: 回车 An optional company name []: 回车 3. 通过 server.key server.csr 在相应的网站申请 证书 如: http://www.startssl.com/ http://ocsp.godaddy.com/ 申请成功后会得到两个文件: gd_bundle.crt abc.com.crt 4. 设置nginx的配置 上传 gd_bundle.crt abc.com.crt 文件至 nginx的配置目录下 /usr/local/nginx/conf 执行 cat abc.com.crt gd_bundle.crt > abc.com.chained.crt Nginx的配置如下: server { listen 443; server_name ttt.e.com; ssl on; ssl_certificate /usr/local/nginx/conf/abc.com.chained.crt; ssl_certificate_key /usr/local/nginx/conf/abc.com.key; ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:!aNULL:!MD5; location / { root html; index index.php; } location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html$fastcgi_script_name; fastcgi_param HTTPS on; include fastcgi.conf; } } 5. 验证 执行 openssl s_client -connect www.godaddy.com:443 最后访问 https://abc.com 如果能看到证书的信息,而且连接都正常就OK了。 注意: 安装nginx 时要加上https模块,编译时: ./configure --with-http_sub_module --with-http_ssl_module 可以用 /usr/local/nginx/sbin/nginx -V 来查看。 生成证书不被信任的 证书。也就是测试版测试用的,不用花钱就可以有的证书,这样的证书是不被浏览器认可的,但是 测试是没有问题的 $ cd /usr/local/nginx/conf $ openssl genrsa -des3 -out server.key 1024 $ openssl req -new -key server.key -out server.csr $ cp server.key server.key.org $ openssl rsa -in server.key.org -out server.key $ openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt 编辑 nginx.conf server { server_name YOUR_DOMAINNAME_HERE; listen 443; ssl on; ssl_certificate /usr/local/nginx/conf/server.crt; ssl_certificate_key /usr/local/nginx/conf/server.key; } OK, 完成了 http://blog.csdn.net/cuiyuan9/article/details/8280872