欢迎光临
我们一直在努力

免费申请SSL证书 — AlphaSSL 及 LNMP一键包Nginx配置SSL证书教程

目前颁发免费SSL证书我只知道:AlphaSSL、Let’s Encrypt SSL、StartSSL(沃通)StartSSL(沃通)因为违反了SSL证书的规定,导致2016年10月后新申请的SSL证书都被浏览器拉黑了,所以不建议使用。AlphaSSL是比较早的一个,支持免费泛域名SSL证书,最多可以签1年。

Let’s Encrypt SSL则是前段时间很火的一个免费SSL证书,最多可以签3个月。

免费SSL证书各个之间也没什么区别,主要是颁发机构的区别,其他的都没影响,所以我作为一个懒人能签多次时间就签多长时间,所以我选了AlphaSSL。

本教程中申请+配置SSL证书均以 toyoo.ml 为例,请自行替换为自己的域名,不要傻傻的照着教程写示例域名!

申请SSL证书

申请SSL证书前,请先关闭域名的Whois保护,避免SSL证书申请时无法扫描到域名注册时填写的域名邮箱,导致无法申请SSL证书!如果不确定,请查询域名Whois信息,看看是否可以查询到你的域名注册邮箱,域名Whois信息查询:站长工具

我们首先在本地 新建三个空文本文件 分别命名为: toyoo.ml.csr、toyoo.ml.key、toyoo.ml.crt

CSR是申请SSL证书需要的文件,KET是对应的证书密匙,CRT是证书文件。

生成CSR文件和KEY密匙

申请SSL证书的第一步就是生成CSR和KEY文件。

我们打开 CSR文件在线生成工具 ,填写 组织/公司、部门/单位、城市、省份、邮箱和域名

国家、加密方式、哈希签名算法和加密位数都默认就好,不要改。

邮箱和域名必须填写正确。

AlphaSSL支持免费泛域名SSL证书,所以域名我们填写为 *.toyoo.ml

泛域名SSL证书指的是,这个SSL证书,你可以用在任何以 toyoo.ml 为主的一级域名(toyoo.ml)、二级域名(xxx.toyoo.ml)等。

填写完毕后,点击 生成CSR文件 按钮。

然后下面就会出现两段代码,分别是 CSR 和 KEY

然后把 CSR和KEY代码 分别保存到我们一开始新建的空文本文件中: toyoo.ml.csr、toyoo.ml.key

申请SSL证书

我们打开 AlphaSSL证书申请网站 ,然后把上面我们生成的 CSR代码 复制到第一个大文本框中。

然后填写下面的邮箱、名、姓、电话号码,除了邮箱必须正确(建议和上面生成CSR的邮箱一致),其他的随意

然后点击 Verify > 按钮提交SSL证书申请信息。

然后网站会检测 CSR代码 并询问你要申请的域名是否为 *.toyoo.ml ,检查无错误后,点击 确定 按钮。

然后SSL证书申请网站会开始查询申请SSL证书 Whios信息中 域名邮箱(注册域名时候写的邮箱),如果正常情况下,第一个邮箱就会是你的域名邮箱,点击这个邮箱,AlphaSSL就会向你这个邮箱里发送确认邮件,一般等待1-5分钟就会收到邮件了。

如果只显示了如下下图后面那几个邮箱,没有显示你的域名注册邮箱,那么说明你的域名可能是 刚注册 或 没有关闭Whios保护 或 刚关闭Whios保护 查询有缓存,所以你可能需要关闭Whios保护或者等待12-24小时后,才能继续申请。

域名Whois信息查询网站:站长工具如果 注册域名 或者 关闭Whios保护 24小时后依然无法查询到你的域名注册信息,那么请联系域名注册商解决。

邮件确认SSL证书申请

在你的域名注册邮箱中,等待AlphaSSL给你发SSL证书申请确认邮件,邮件内容大概如下图。

点击红框中的 链接,会进入到AlphaSSL的确认网站。

确认SSL证书申请信息正确后点击 I APPROVE 按钮,代表同意。

然后网站就会提示把SSL证书信息发送到你的邮箱了。

现在重新回到邮箱,等待SSL证书信息邮件。

收到邮件后,翻到邮件最下面找到你的SSL证书代码:

  1. OUR SSL CERTIFICATE
  2. ————————————————–
  3. (Formatted for the majority of web server software including IIS and Apache
  4. based servers):
  5.  
  6. —–BEGIN CERTIFICATE—–
  7. XXXXXXXXXXXXXXXXXXXX
  8. XXXXXXXXXXXXXXXXXXXX
  9. XXXXXXXXXXXXXXXXXXXX
  10. —–END CERTIFICATE—–

然后把从 -----BEGIN CERTIFICATE----- -----END CERTIFICATE----- 的内容(包括这两行自身)都复制到最开始我们新建的空文本文件中 toyoo.ml.crt

现在我们已经有了 CSR文件、KEY文件、SSL文件 ,但是还不够,还需要SSL证书颁发机构的中级证书文件。

在SSL证书信息的邮件中,提到了中级证书的获取地址:https://www.alphassl.com/support/install-root-certificate.html

进入后我们找到第一个SSL中级证书代码:SHA-256 – Orders March 31, 2014 and After

  1. —–BEGIN CERTIFICATE—–
  2. MIIETTCCAzWgAwIBAgILBAAAAAABRE7wNjEwDQYJKoZIhvcNAQELBQAwVzELMAkG
  3. A1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jv
  4. b3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw0xNDAyMjAxMDAw
  5. MDBaFw0yNDAyMjAxMDAwMDBaMEwxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9i
  6. YWxTaWduIG52LXNhMSIwIAYDVQQDExlBbHBoYVNTTCBDQSAtIFNIQTI1NiAtIEcy
  7. MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2gHs5OxzYPt+j2q3xhfj
  8. kmQy1KwA2aIPue3ua4qGypJn2XTXXUcCPI9A1p5tFM3D2ik5pw8FCmiiZhoexLKL
  9. dljlq10dj0CzOYvvHoN9ItDjqQAu7FPPYhmFRChMwCfLew7sEGQAEKQFzKByvkFs
  10. MVtI5LHsuSPrVU3QfWJKpbSlpFmFxSWRpv6mCZ8GEG2PgQxkQF5zAJrgLmWYVBAA
  11. cJjI4e00X9icxw3A1iNZRfz+VXqG7pRgIvGu0eZVRvaZxRsIdF+ssGSEj4k4HKGn
  12. kCFPAm694GFn1PhChw8K98kEbSqpL+9Cpd/do1PbmB6B+Zpye1reTz5/olig4het
  13. ZwIDAQABo4IBIzCCAR8wDgYDVR0PAQH/BAQDAgEGMBIGA1UdEwEB/wQIMAYBAf8C
  14. AQAwHQYDVR0OBBYEFPXN1TwIUPlqTzq3l9pWg+Zp0mj3MEUGA1UdIAQ+MDwwOgYE
  15. VR0gADAyMDAGCCsGAQUFBwIBFiRodHRwczovL3d3dy5hbHBoYXNzbC5jb20vcmVw
  16. b3NpdG9yeS8wMwYDVR0fBCwwKjAooCagJIYiaHR0cDovL2NybC5nbG9iYWxzaWdu
  17. Lm5ldC9yb290LmNybDA9BggrBgEFBQcBAQQxMC8wLQYIKwYBBQUHMAGGIWh0dHA6
  18. Ly9vY3NwLmdsb2JhbHNpZ24uY29tL3Jvb3RyMTAfBgNVHSMEGDAWgBRge2YaRQ2X
  19. yolQL30EzTSo//z9SzANBgkqhkiG9w0BAQsFAAOCAQEAYEBoFkfnFo3bXKFWKsv0
  20. XJuwHqJL9csCP/gLofKnQtS3TOvjZoDzJUN4LhsXVgdSGMvRqOzm+3M+pGKMgLTS
  21. xRJzo9P6Aji+Yz2EuJnB8br3n8NA0VgYU8Fi3a8YQn80TsVD1XGwMADH45CuP1eG
  22. l87qDBKOInDjZqdUfy4oy9RU0LMeYmcI+Sfhy+NmuCQbiWqJRGXy2UzSWByMTsCV
  23. odTvZy84IOgu/5ZR8LrYPZJwR2UcnnNytGAMXOLRc3bgr07i5TelRS+KIz6HxzDm
  24. MTh89N1SyvNTBCVXVmaU6Avu5gMUTu79bZRknl7OedSyps9AsUSoPocZXun4IRZZ
  25. Uw==
  26. —–END CERTIFICATE—–

然后把中级证书代码从 -----BEGIN CERTIFICATE-----  -----END CERTIFICATE----- 的内容(包括这两行自身)复制到开始我们新建的空文本文件中 toyoo.ml.crt 我们自己的SSL证书后面。

也就是我们自己的SSL证书代码的最后一行 -----END CERTIFICATE----- 后面空出一行后再粘贴上 中级证书代码,大概格式如下:

  1. —–BEGIN CERTIFICATE—–
  2. XXXXXXXXXXXXXXXXXXXXX
  3. XXXXXXX自己证书XXXXXXXX
  4. XXXXXXXXXXXXXXXXXXXXX
  5. —–END CERTIFICATE—–
  6.  
  7. —–BEGIN CERTIFICATE—–
  8. XXXXXXXXXXXXXXXXXXXXX
  9. XXXXXXX中级证书XXXXXXXX
  10. XXXXXXXXXXXXXXXXXXXXX
  11. —–END CERTIFICATE—–

修改并保存SSL证书文件后,我们双击打开 toyoo.ml.crt 证书文件,就会看到如 下下下下图所示的证书信息。

如果没问题,那么到这里我们申请免费SSL证书就完成了。接下来是Nginxi配置SSL证书的步骤。

Nginx配置SSL证书

因为我一直使用的是 lnmp.org 的lnmp一键包,所以以这个一键包为例,其他的一键包也差不多,至于面板,肯定都有SSL证书添加的地方。

配置示例:

首先通过SFTP链接你的网站服务器,然后找到 /usr/local/nginx/conf/vhost/域名.conf 文件并下载到本地(以toyoo.ml.conf 为例)。

然后我们本地打开 toyoo.ml.conf 文件并修改,下面是修改后的完整配置文件示例

注意:只需要看18行以前就行了,后面的不要跟着示例走,以前是什么就是什么,不需要和示例一模一样。
  1. server
  2. {
  3. listen 80;
  4. listen 443 ssl http2;
  5. ssl on;
  6. ssl_certificate /root/toyoo.ml.crt;
  7. ssl_certificate_key /root/toyoo.ml.key;
  8. ssl_session_cache shared:SSL:10m;
  9. ssl_session_timeout 10m;
  10. add_header StrictTransportSecurity “max-age=31536000”;
  11.  
  12. server_name toyoo.ml;
  13. index index.html index.htm index.php default.html default.htm default.php;
  14. root /home/wwwroot/toyoo.ml;
  15.  
  16. if ( $scheme = http ){
  17. return 301 https://$server_name$request_uri;
  18. }
  19. # 只需要看前面的代码就行了,后面的不需要和示例一致!!!
  20. include none.conf;
  21. #error_page 404 /404.html;
  22. location ~ [^/]\.php(/|$)
  23. {
  24. # comment try_files $uri =404; to enable pathinfo
  25. try_files $uri =404;
  26. fastcgi_pass unix:/tmp/phpcgi.sock;
  27. fastcgi_index index.php;
  28. include fastcgi.conf;
  29. #include pathinfo.conf;
  30. }
  31.  
  32. location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
  33. {
  34. expires 30d;
  35. }
  36.  
  37. location ~ .*\.(js|css)?$
  38. {
  39. expires 12h;
  40. }
  41.  
  42. access_log off;
  43. }

代码解释

主要是在 listen 80; 下面添加SSL证书的信息。

如果你的Nginx是 1.10.x 以后的版本(lnmp 1.3满足),那么就支持http2了

  1. listen 443 ssl http2;
  2. # 监听HTTPS端口
  3. ssl on;
  4. # 开启SSL
  5. ssl_certificate /root/toyoo.ml.crt;
  6. # 指定SSL证书 .crt 位置
  7. ssl_certificate_key /root/toyoo.ml.key;
  8. # 指定SSL证书密匙 .key 位置
  9. ssl_session_cache shared:SSL:10m;
  10. # 设置SSL缓存大小
  11. ssl_session_timeout 10m;
  12. # 设置SSL缓存时间
  13. add_header StrictTransportSecurity “max-age=31536000”;
  14. # 这个代码的意思是,当访客访问你网站的HTTPS域名后,下次再访问HTTP,浏览器会自动转到HTTPS,而不需要访客先访问网站服务器,然后网站服务器再重定向到HTTPS。31536000是秒,代表一年内有效(如果不清理浏览器缓存)

这段代码指的是强制所有访问 HTTP域名 的都重定向到HTTPS。

如果你不需要访客强制访问 HTTPS ,那么不需要添加这段代码。

  1. if ( $scheme = http ){
  2. return 301 https://$server_name$request_uri;
  3. }

修改并保存后,上传 toyoo.ml.conf /usr/local/nginx/conf/vhost 文件夹并覆盖原文件(注意备份)。

然后再把 toyoo.ml.crt、toyoo.ml.key 上传到 toyoo.ml.conf 文件中指定的地方,比如示例中的 /root 文件夹下。

然后SSH链接网址服务器并重启Nginx:

  1. lnmp nginx restart

如果报错了,那么会提示是哪一行出错,然后查看哪一行存在问题,或者在下面留言问我。

如果没有报错,那么就尝试打开 https://域名/ 看一看浏览器地址栏前是否有绿锁了!

当然,没有也不要急,你能进去 https 了,说明SSL配置基本无误,没有绿锁多半是网站内的 内链和外链 没有都设置为 https,把网站内的所有链接都改为 https 的就行了,可以通过 F12审查元素 来定位错误的元素。

其他说明

重启Nginx报错 或 配置后 火狐浏览器/手机浏览器证书报错

有部分人因为未知原因,按以上教程配置SSL后,重启Nginx报错,或者配置完 火狐浏览器和手机浏览器报错,所以解决方法如下:

只要在你自己的证书代码前面再加上一个 GlobalSign的根证书代码 就可以了。

  1. —–BEGIN CERTIFICATE—–
  2. MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx
  3. GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds
  4. b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV
  5. BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD
  6. VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa
  7. DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc
  8. THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb
  9. Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP
  10. c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX
  11. gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV
  12. HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF
  13. AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj
  14. Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG
  15. j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH
  16. hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC
  17. X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A==
  18. —–END CERTIFICATE—–
  19.  
  20. —–BEGIN CERTIFICATE—–
  21. XXXXXXXXXXXXXXXXXXXXX
  22. XXXXXXX自己证书XXXXXXXX
  23. XXXXXXXXXXXXXXXXXXXXX
  24. —–END CERTIFICATE—–
  25.  
  26. —–BEGIN CERTIFICATE—–
  27. XXXXXXXXXXXXXXXXXXXXX
  28. XXXXXXX中级证书XXXXXXXX
  29. XXXXXXXXXXXXXXXXXXXXX
  30. —–END CERTIFICATE—–
  31.  

教程到这里基本就结束了,有什么错误或者需要补充的可以在下面的评论里留言

 收藏 (0) 打赏

您可以选择一种方式赞助本站

支付宝扫一扫赞助

微信钱包扫描赞助

未经允许不得转载:顶好爱迪 » 免费申请SSL证书 — AlphaSSL 及 LNMP一键包Nginx配置SSL证书教程

分享到: 更多 (0)
avatar

评论 抢沙发

  • QQ号
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

射线服务专业快捷

联系我们联系我们
切换注册

登录

忘记密码 ?

切换登录

注册

我们将发送一封验证邮件至你的邮箱, 请正确填写以完成账号注册和激活