服务器之家

服务器之家 > 正文

在Nginx服务器下配置StartSSL和SSL的教程

时间:2019-10-30 19:28     来源/作者:goldensun

第一步 申请本地证书

1. openssl 之类的软件我就不多说,系统自带的,如果不带,自己 yum 下

  1. [root@e2fsck ~]# openssl genrsa -des3 -out e2fsck.org.key 2048 
  2. Generating RSA private key, 1024 bit long modulus 
  3. ………..++++++ 
  4. ………..++++++ 
  5. e is 65537 (0×10001) 
  6. Enter pass phrase for e2fsck.org.key: 输入密码 
  7. Verifying – Enter pass phrase for e2fsck.org.key: 输入密码 
  8.   
  9. [root@e2fsck ~]# openssl req -new -key e2fsck.org.key -out e2fsck.org.csr 
  10. Enter pass phrase for e2fsck.org.key: 输入密码 
  11. You are about to be asked to enter information that will be incorporated 
  12. into your certificate request. 
  13. What you are about to enter is what is called a Distinguished Name or a DN. 
  14. There are quite a few fields but you can leave some blank 
  15. For some fields there will be a default value, 
  16. If you enter ‘.', the field will be left blank. 
  17. —– 
  18.   
  19. Country Name (2 letter code) [XX]:CN 
  20. State or Province Name (full name) []:JS 
  21. Locality Name (eg, city) [Default City]:SZ 
  22. Organization Name (eg, company) [Default Company Ltd]:e2fsck 
  23. Organizational Unit Name (eg, section) []:e2fsck.org 
  24. Common Name (eg, your name or your server's hostname) []:*.e2fsck.org 
  25. Email Address []:root@e2fsck.org 
  26.   
  27. Please enter the following ‘extra' attributes 
  28. to be sent with your certificate request 
  29. A challenge password []: 直接回车 
  30. An optional company name []: 直接回车 
  31.   
  32. [root@e2fsck ~]# openssl rsa -in e2fsck.org.key -out e2fsck.org_nopass.key 
  33. Enter pass phrase for e2fsck.org.key: 输入上面的密码 
  34. writing RSA key 
  35.   
  36. [root@e2fsck ~]# ls 
  37.   
  38. 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 根证书与我们的证书和并

  1. [root@e2fsck ~]# cd /usr/local/nginx/conf/   #我这里把证书都放在了这个目录 
  2.   
  3. [root@e2fsck conf]# wget http://cert.startssl.com/certs/ca.pem 
  4.   
  5. [root@e2fsck conf]# wget http://cert.startssl.com/certs/sub.class1.server.ca.pem 
  6.   
  7. [root@e2fsck conf]# cp e2fsck.org.crt e2fsck.org.bak   #先备份下 
  8.   
  9. [root@e2fsck conf]# cat ca.pem sub.class1.server.ca.pem >> e2fsck.org.crt 

然后编辑 e2fsck.org.crt  把里面的

  1. —–END CERTIFICATE———-BEGIN CERTIFICATE—– 

分开,改成这样

  1. —–END CERTIFICATE—– 
  2. —–BEGIN CERTIFICATE—– 

第三步 配置 nginx.conf

主要是修改这段

复制代码代码如下:
server {   listen    443;   server_name www.e2fsck.org;   index index.html index.htm index.php;   ssl         on;            <span id="note">#主要是这段</span>   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$ {               <span id="note">#这一小段是为了 https 能解析 php</span>     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){      <span id="note">#如果非SSL做了伪静态,这里也要</span>     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;   #} }


然后重启 nginx (如果以前没配置过 ssl,就一定要重启, reload 没用)

 

第四步 测试 ssl

浏览器输入 https://www.e2fsck.org 可以看到 ssl 已经可以正常工作了

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
超A是什么意思 你好a表达的是什么
超A是什么意思 你好a表达的是什么 2019-06-06
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字
抖音撒撒累累是什么歌 撒撒累累张艺兴歌曲名字 2019-06-05
返回顶部