技术饭

Nginx/Tengine服务器安装SSL证书

copylian    0 评论    9851 浏览    2018.12.26

在证书控制台下载Nginx版本证书。下载到本地的压缩文件包解压后包含:

  • .crt文件:是证书文件,crt是pem文件的扩展名。

  • .key文件:证书的私钥文件(申请证书时如果没有选择自动创建CSR,则没有该文件)。

友情提示: .pem扩展名的证书文件采用Base64-encoded的PEM格式文本文件,可根据需要修改扩展名。

以Nginx标准配置为例,假如证书文件名是a.pem,私钥文件是a.key。

  1. 在Nginx的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中。如果申请证书时是自己创建的CSR文件,请将对应的私钥文件放到cert目录下并且命名为a.key;

  2. 打开 Nginx 安装目录下 conf 目录中的 nginx.conf 文件,找到:将其修改为 (以下属性中ssl开头的属性与证书配置有直接关系,其它属性请结合自己的实际情况复制或调整) :

  3. server {

  4. listen 443;

  5. server_name abc.copylian.com;

  6. ssl on;

  7. root /home/wwwroot/abc.copylian.com/public;

  8. index index.html index.htm index.php;

  9. ssl_certificate /usr/local/cert/abc.copylian.com/1661232_wechatapi.ponyfamily.cn.pem;

  10. ssl_certificate_key /usr/local/cert/abc.copylian.com/1661232_wechatapi.ponyfamily.cn.key;

  11. ssl_session_timeout 5m;

  12. ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;

  13. ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

  14. ssl_prefer_server_ciphers on;


  15. #去掉$是为了不匹配行末,即可以匹配.php/,以实现pathinfo

  16. #如果你不需要用到php5后缀,也可以将其去掉

  17. location ~ .php

  18. {

  19. #原有代码

  20. fastcgi_pass  unix:/tmp/php-cgi.sock;

  21. fastcgi_index index.php;

  22. include fastcgi_params;

  23. #定义变量 $path_info ,用于存放pathinfo信息

  24. set $path_info "";

  25. #定义变量 $real_script_name,用于存放真实地址

  26. set $real_script_name $fastcgi_script_name;

  27. #如果地址与引号内的正则表达式匹配

  28. if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {

  29. #将文件地址赋值给变量 $real_script_name

  30. set $real_script_name $1;

  31. #将文件地址后的参数赋值给变量 $path_info

  32. set $path_info $2;

  33. }

  34. #配置fastcgi的一些参数

  35. fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;

  36. fastcgi_param SCRIPT_NAME $real_script_name;

  37. fastcgi_param PATH_INFO $path_info;

  38. fastcgi_param PHP_ADMIN_VALUE "open_basedir=/home/wwwroot/abc.copylian.com:/tmp/:/proc/";

  39. }

  40. location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$

  41. {

  42. expires 30d;

  43. }

  44. location ~ .*\.(js|css)?$

  45. {

  46. expires 1h;

  47. }

  48. location ~ ^(.*)\/\.svn\/{

  49. deny all;

  50. }


  51. #伪静态规则

  52. location / { 

  53. if (!-e $request_filename) {

  54. rewrite  ^(.*)$  /index.php?s=$1  last;

  55. break;

  56. }


  57. }


  58. #错误日志

  59. access_log  /home/wwwlogs/abc.copylian.com.access.log;

  60. error_log /home/wwwlogs/abc.copylian.com.error_log;

  61. }

  62. 重启 Nginx。

只袄早~~~
感谢你的支持,我会继续努力!
扫码打赏,感谢您的支持!

文明上网理性发言!

  • 还没有评论,沙发等你来抢