服务器之家:专注于服务器技术及软件下载分享
分类导航

云服务器|WEB服务器|FTP服务器|邮件服务器|虚拟主机|服务器安全|DNS服务器|服务器知识|Nginx|IIS|Tomcat|

服务器之家 - 服务器技术 - Nginx - 在Nginx服务器下配置StartSSL和SSL的教程

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

2019-10-30 19:28goldensun Nginx

这篇文章主要介绍了在Nginx服务器下配置StartSSL和SSL的教程,其中申请证书的步骤确实比较麻烦一些,不过出于安全考虑:p需要的朋友可以参考下

第一步 申请本地证书

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 已经可以正常工作了

延伸 · 阅读

精彩推荐
  • Nginxnginx ssl免密码重启教程详解

    nginx ssl免密码重启教程详解

    这篇文章给大家介绍了nginx 如何启动以及nginx ssl 免密码重启 的方法,非常不错,具有参考借鉴价值,需要的朋友参考下吧 ...

    mrr4272019-11-19
  • Nginx利用nginx和腾讯云免费证书制作https的方法

    利用nginx和腾讯云免费证书制作https的方法

    这篇文章主要介绍了利用nginx和腾讯云免费证书制作https的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 ...

    dalaoyang5992019-12-30
  • Nginxnginx rewrite 伪静态配置参数和使用例子

    nginx rewrite 伪静态配置参数和使用例子

    nginx下伪静态配置参数详细说明,使用nginx的朋友,nginx rewrite 伪静态配置参数和使用例子 附正则使用说明 ...

    服务器之家3102019-10-08
  • Nginx通过Nginx规则重写URL去掉index.php不显示index.php

    通过Nginx规则重写URL去掉index.php不显示index.php

    Nginx不仅占用内存少,并发能力强,而且拓展功能丰富,可以通过安装模板来强化功能,也能通过规则优化,优化服务器并发处理能力,是建站的不二之选...

    Genius日记5872020-10-16
  • NginxNginx Rewrite使用场景及代码案例详解

    Nginx Rewrite使用场景及代码案例详解

    这篇文章主要介绍了Nginx Rewrite使用场景及代码案例详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可...

    盗哥泡茶去了11862020-09-27
  • NginxNginx location 和 proxy_pass路径配置问题小结

    Nginx location 和 proxy_pass路径配置问题小结

    本文是基于 location 的匹配末尾是否配置 / 和 proxy_pass 末尾是否配置 / ,进行测试,完全还原了整个测试过程,本文给大家介绍Nginx location 基本配置及相关配...

    自由早晚乱余生18742021-09-24
  • NginxNginx动静分离实现案例代码解析

    Nginx动静分离实现案例代码解析

    这篇文章主要介绍了Nginx动静分离实现案例代码解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参...

    盗哥泡茶去了3382020-09-27
  • Nginx如何优化Nginx的处理性能

    如何优化Nginx的处理性能

    Nginx是一个很强大的高性能Web和反向代理服务,它具有很多非常优越的特性,在连接高并发的情况下,Nginx是Apache服务不错的替代品。其特点是占有内存少,...

    Dockone.io5142020-12-11