翻墙入口,Telegram上最大的免费科学上网解决方案提供者,
致力于维护互联网世界普世自由价值、建立翻墙行业新秩序。

『失效』免费申请SSL证书 – AlphaSSL 及 LNMP一键包Nginx配置SSL证书教程

本文最后更新于 2018年7月19日 12:09 可能会因为没有更新而失效。如已失效或需要修正,请留言!

过年了没啥教程写的,放假了我也很懒,最近这两天也有人学习建站想要搞个SSL证书玩玩,但是完全没有建站经验,这些都不懂。

成功做过一遍的人会觉得申请+配置SSL证书很简单,但是完全没接触过的小白就会很迷,所以我就写个教程吧。

因为 AlphaSSL 申请网站失效,所以本教教程前半部分的申请SSL步骤失效,后面的Nginx依然通用。


目前颁发免费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.pw 为例,请自行替换为自己的域名,不要傻傻的照着教程写示例域名!

申请SSL证书

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

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

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

生成CSR文件和KEY密匙

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

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

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

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

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

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

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

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

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

『失效』免费申请SSL证书 – AlphaSSL 及 LNMP一键包Nginx配置SSL证书教程

申请SSL证书

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

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

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

『失效』免费申请SSL证书 – AlphaSSL 及 LNMP一键包Nginx配置SSL证书教程

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

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

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

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

『失效』免费申请SSL证书 – AlphaSSL 及 LNMP一键包Nginx配置SSL证书教程

『失效』免费申请SSL证书 – AlphaSSL 及 LNMP一键包Nginx配置SSL证书教程

『失效』免费申请SSL证书 – AlphaSSL 及 LNMP一键包Nginx配置SSL证书教程

邮件确认SSL证书申请

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

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

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

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

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

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

OUR SSL CERTIFICATE -------------------------------------------------- (Formatted for the majority of web server software including IIS and Apache based servers):  -----BEGIN CERTIFICATE----- XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX -----END CERTIFICATE----- 

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

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

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

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

点击展开 查看内容

-----BEGIN CERTIFICATE----- MIIETTCCAzWgAwIBAgILBAAAAAABRE7wNjEwDQYJKoZIhvcNAQELBQAwVzELMAkG A1UEBhMCQkUxGTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jv b3QgQ0ExGzAZBgNVBAMTEkdsb2JhbFNpZ24gUm9vdCBDQTAeFw0xNDAyMjAxMDAw MDBaFw0yNDAyMjAxMDAwMDBaMEwxCzAJBgNVBAYTAkJFMRkwFwYDVQQKExBHbG9i YWxTaWduIG52LXNhMSIwIAYDVQQDExlBbHBoYVNTTCBDQSAtIFNIQTI1NiAtIEcy MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2gHs5OxzYPt+j2q3xhfj kmQy1KwA2aIPue3ua4qGypJn2XTXXUcCPI9A1p5tFM3D2ik5pw8FCmiiZhoexLKL dljlq10dj0CzOYvvHoN9ItDjqQAu7FPPYhmFRChMwCfLew7sEGQAEKQFzKByvkFs MVtI5LHsuSPrVU3QfWJKpbSlpFmFxSWRpv6mCZ8GEG2PgQxkQF5zAJrgLmWYVBAA cJjI4e00X9icxw3A1iNZRfz+VXqG7pRgIvGu0eZVRvaZxRsIdF+ssGSEj4k4HKGn kCFPAm694GFn1PhChw8K98kEbSqpL+9Cpd/do1PbmB6B+Zpye1reTz5/olig4het ZwIDAQABo4IBIzCCAR8wDgYDVR0PAQH/BAQDAgEGMBIGA1UdEwEB/wQIMAYBAf8C AQAwHQYDVR0OBBYEFPXN1TwIUPlqTzq3l9pWg+Zp0mj3MEUGA1UdIAQ+MDwwOgYE VR0gADAyMDAGCCsGAQUFBwIBFiRodHRwczovL3d3dy5hbHBoYXNzbC5jb20vcmVw b3NpdG9yeS8wMwYDVR0fBCwwKjAooCagJIYiaHR0cDovL2NybC5nbG9iYWxzaWdu Lm5ldC9yb290LmNybDA9BggrBgEFBQcBAQQxMC8wLQYIKwYBBQUHMAGGIWh0dHA6 Ly9vY3NwLmdsb2JhbHNpZ24uY29tL3Jvb3RyMTAfBgNVHSMEGDAWgBRge2YaRQ2X yolQL30EzTSo//z9SzANBgkqhkiG9w0BAQsFAAOCAQEAYEBoFkfnFo3bXKFWKsv0 XJuwHqJL9csCP/gLofKnQtS3TOvjZoDzJUN4LhsXVgdSGMvRqOzm+3M+pGKMgLTS xRJzo9P6Aji+Yz2EuJnB8br3n8NA0VgYU8Fi3a8YQn80TsVD1XGwMADH45CuP1eG l87qDBKOInDjZqdUfy4oy9RU0LMeYmcI+Sfhy+NmuCQbiWqJRGXy2UzSWByMTsCV odTvZy84IOgu/5ZR8LrYPZJwR2UcnnNytGAMXOLRc3bgr07i5TelRS+KIz6HxzDm MTh89N1SyvNTBCVXVmaU6Avu5gMUTu79bZRknl7OedSyps9AsUSoPocZXun4IRZZ Uw==  -----END CERTIFICATE----- 

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

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

-----BEGIN CERTIFICATE----- XXXXXXXXXXXXXXXXXXXXX XXXXXXX自己证书XXXXXXXX XXXXXXXXXXXXXXXXXXXXX -----END CERTIFICATE-----  -----BEGIN CERTIFICATE----- XXXXXXXXXXXXXXXXXXXXX XXXXXXX中级证书XXXXXXXX XXXXXXXXXXXXXXXXXXXXX -----END CERTIFICATE----- 

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

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

『失效』免费申请SSL证书 – AlphaSSL 及 LNMP一键包Nginx配置SSL证书教程

『失效』免费申请SSL证书 – AlphaSSL 及 LNMP一键包Nginx配置SSL证书教程

『失效』免费申请SSL证书 – AlphaSSL 及 LNMP一键包Nginx配置SSL证书教程

『失效』免费申请SSL证书 – AlphaSSL 及 LNMP一键包Nginx配置SSL证书教程

Nginx配置SSL证书

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

配置示例:

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

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

注意:只需要看18行以前就行了,后面的不要跟着示例走,以前是什么就是什么,不需要和示例一模一样。

点击展开 查看内容

server  {   listen 80;   listen 443 ssl http2;   ssl on;   ssl_certificate /root/toyoo.pw.crt;   ssl_certificate_key /root/toyoo.pw.key;   ssl_session_cache shared:SSL:10m;   ssl_session_timeout  10m;   add_header Strict-Transport-Security "max-age=31536000";    server_name toyoo.pw;   index index.html index.htm index.php default.html default.htm default.php;   root  /home/wwwroot/toyoo.pw;    if ( $scheme = http ){    return 301 https://$server_name$request_uri;   } # 只需要看前面的代码就行了,后面的不需要和示例一致!!! #   include none.conf;   #error_page   404   /404.html;   location ~ [^/]/.php(/|$)   {    # comment try_files $uri =404; to enable pathinfo    try_files $uri =404;    fastcgi_pass  unix:/tmp/php-cgi.sock;    fastcgi_index index.php;    include fastcgi.conf;    #include pathinfo.conf;   }    location ~ .*/.(gif|jpg|jpeg|png|bmp|swf)$   {    expires      30d;   }    location ~ .*/.(js|css)?$   {    expires      12h;   }    access_log off;  } 

代码解释

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

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

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

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

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

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

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

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

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

lnmp nginx restart 

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

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

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

其他说明

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

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

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

-----BEGIN CERTIFICATE----- XXXXXXXXXXXXXXXXXXXXX XXXXXXX自己证书XXXXXXXX XXXXXXXXXXXXXXXXXXXXX -----END CERTIFICATE-----  -----BEGIN CERTIFICATE----- XXXXXXXXXXXXXXXXXXXXX XXXXXXX中级证书XXXXXXXX XXXXXXXXXXXXXXXXXXXXX -----END CERTIFICATE-----  -----BEGIN CERTIFICATE----- MIIDdTCCAl2gAwIBAgILBAAAAAABFUtaw5QwDQYJKoZIhvcNAQEFBQAwVzELMAkGA1UEBhMCQkUx GTAXBgNVBAoTEEdsb2JhbFNpZ24gbnYtc2ExEDAOBgNVBAsTB1Jvb3QgQ0ExGzAZBgNVBAMTEkds b2JhbFNpZ24gUm9vdCBDQTAeFw05ODA5MDExMjAwMDBaFw0yODAxMjgxMjAwMDBaMFcxCzAJBgNV BAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMRAwDgYDVQQLEwdSb290IENBMRswGQYD VQQDExJHbG9iYWxTaWduIFJvb3QgQ0EwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDa DuaZjc6j40+Kfvvxi4Mla+pIH/EqsLmVEQS98GPR4mdmzxzdzxtIK+6NiY6arymAZavpxy0Sy6sc THAHoT0KMM0VjU/43dSMUBUc71DuxC73/OlS8pF94G3VNTCOXkNz8kHp1Wrjsok6Vjk4bwY8iGlb Kk3Fp1S4bInMm/k8yuX9ifUSPJJ4ltbcdG6TRGHRjcdGsnUOhugZitVtbNV4FpWi6cgKOOvyJBNP c1STE4U6G7weNLWLBYy5d4ux2x8gkasJU26Qzns3dLlwR5EiUWMWea6xrkEmCMgZK9FGqkjWZCrX gzT/LCrBbBlDSgeF59N89iFo7+ryUp9/k5DPAgMBAAGjQjBAMA4GA1UdDwEB/wQEAwIBBjAPBgNV HRMBAf8EBTADAQH/MB0GA1UdDgQWBBRge2YaRQ2XyolQL30EzTSo//z9SzANBgkqhkiG9w0BAQUF AAOCAQEA1nPnfE920I2/7LqivjTFKDK1fPxsnCwrvQmeU79rXqoRSLblCKOzyj1hTdNGCbM+w6Dj Y1Ub8rrvrTnhQ7k4o+YviiY776BQVvnGCv04zcQLcFGUl5gE38NflNUVyRRBnMRddWQVDf9VMOyG j/8N7yy5Y0b2qvzfvGn9LhJIZJrglfCm7ymPAbEVtQwdpf5pLGkkeB6zpxxxYu7KyJesF12KwvhH hm4qxFYxldBniYUr+WymXUadDKqC5JlR3XC321Y9YeRq4VzW9v493kHMB65jUr9TU/Qr6cf9tveC X4XSQRjbgbMEHMUfpIBvFSDJ3gyICh3WZlXi/EjJKSZp4A== -----END CERTIFICATE----- 


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

阅后请多多推广本文: 『失效』免费申请SSL证书 – AlphaSSL 及 LNMP一键包Nginx配置SSL证书教程
责任声明:本站一切资源仅用作交流学习,请勿用作商业或违法行为!如造成任何后果,本站概不负责!

赞(0)
未经允许不得转载:翻墙党 » 『失效』免费申请SSL证书 – AlphaSSL 及 LNMP一键包Nginx配置SSL证书教程
分享到: 更多 (0)

评论 抢沙发

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