来源:自学PHP网 时间:2015-08-04 12:36 作者: 阅读:次
[导读] 这篇文章主要介绍了在Nginx服务器下配置StartSSL和SSL的教程,其中申请证书的步骤确实比较麻烦一些,不过出于安全考虑:p需要的朋友可以参考下...
第一步 申请本地证书 1. openssl 之类的软件我就不多说,系统自带的,如果不带,自己 yum 下 [root@e2fsck ~]# openssl genrsa -des3 -out e2fsck.org.key 2048 Generating RSA private key, 1024 bit long modulus ………..++++++ ………..++++++ e is 65537 (0×10001) Enter pass phrase for e2fsck.org.key: 输入密码 Verifying – Enter pass phrase for e2fsck.org.key: 输入密码 [root@e2fsck ~]# openssl req -new -key e2fsck.org.key -out e2fsck.org.csr Enter pass phrase for e2fsck.org.key: 输入密码 You are about to be asked to enter information that will be incorporated into 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 blank For some fields there will be a default value, If you enter ‘.', the field will be left blank. —– Country Name (2 letter code) [XX]:CN State or Province Name (full name) []:JS Locality Name (eg, city) [Default City]:SZ Organization Name (eg, company) [Default Company Ltd]:e2fsck Organizational Unit Name (eg, section) []:e2fsck.org Common Name (eg, your name or your server's hostname) []:*.e2fsck.org Email Address []:root@e2fsck.org Please enter the following ‘extra' attributes to be sent with your certificate request A challenge password []: 直接回车 An optional company name []: 直接回车 [root@e2fsck ~]# openssl rsa -in e2fsck.org.key -out e2fsck.org_nopass.key Enter pass phrase for e2fsck.org.key: 输入上面的密码 writing RSA key [root@e2fsck ~]# ls e2fsck.org.csr e2fsck.org.key e2fsck.org_nopass.key
第二步 去 startssl 申请免费证书 1. 登录官方网站 http://www.startssl.com/?app=0 2. 选择 Control Panel(右上角) 然后选择 Express Lane(最下面的大图标) 3. 填写注册信息(尽量真实,不然难通过),然后就去邮件等,是 2 封邮件,第二封邮件带一个地址,登录即可 4. 进去后,做 下一步 之类的简单事情后,选择 Certificates Wizard 5. Certificate Target: 这里选择 Web Server SSL/TLS Certificate 6. 这里选择 Skip 因为 第一步 的时候配置好了 7. 这里把 第一步 中的 e2fsck.org.csr 内容粘贴到这里 8. 然后就是下一步,添加域名什么的简单的事情 9. 最后看到一段代码就是 crt 证书了,保存下来,我这里取名为 e2fsck.org.crt 然后把它放到 /usr/local/nginx/conf 目录(你放哪随便) 10. 为了使部分浏览器能够识别证书,还得把 CA 根证书与我们的证书和并 [root@e2fsck ~]# cd /usr/local/nginx/conf/ #我这里把证书都放在了这个目录 [root@e2fsck conf]# wget http://cert.startssl.com/certs/ca.pem [root@e2fsck conf]# wget http://cert.startssl.com/certs/sub.class1.server.ca.pem [root@e2fsck conf]# cp e2fsck.org.crt e2fsck.org.bak #先备份下 [root@e2fsck conf]# cat ca.pem sub.class1.server.ca.pem >> e2fsck.org.crt 然后编辑 e2fsck.org.crt 把里面的 —–END CERTIFICATE———-BEGIN CERTIFICATE—– 分开,改成这样 —–END CERTIFICATE—– —–BEGIN CERTIFICATE—–
第三步 配置 nginx.conf 主要是修改这段 代码如下: server { listen 443; server_name www.e2fsck.org ; index index.html index.htm index.php; ssl on; #主要是这段 ssl_certificate e2fsck.org.crt; ssl_certificate_key e2fsck.org_nopass.key; ssl_session_timeout 5m; ssl_protocols SSLv2 SSLv3 TLSv1; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; location ~ .php$ { #这一小段是为了 https 能解析 php root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; fastcgi_param HTTPS on; include fastcgi.conf; } if (-f $request_filename/index.html){ #如果非SSL做了伪静态,这里也要 rewrite (.*) $1/index.html break; } if (-f $request_filename/index.php){ rewrite (.*) $1/index.php; } if (!-f $request_filename){ rewrite (.*) /index.php; } #location / { #root html; #index index.html index.htm index.php; #} }
第四步 测试 ssl 浏览器输入 https://www.e2fsck.org 可以看到 ssl 已经可以正常工作了 |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com