技术饭
Nginx/Tengine服务器安装SSL证书
在证书控制台下载Nginx版本证书。下载到本地的压缩文件包解压后包含:
- .crt文件:是证书文件,crt是pem文件的扩展名。 
- .key文件:证书的私钥文件(申请证书时如果没有选择自动创建CSR,则没有该文件)。 
友情提示: .pem扩展名的证书文件采用Base64-encoded的PEM格式文本文件,可根据需要修改扩展名。
以Nginx标准配置为例,假如证书文件名是a.pem,私钥文件是a.key。
- 在Nginx的安装目录下创建cert目录,并且将下载的全部文件拷贝到cert目录中。如果申请证书时是自己创建的CSR文件,请将对应的私钥文件放到cert目录下并且命名为a.key; 
- 打开 Nginx 安装目录下 conf 目录中的 nginx.conf 文件,找到:将其修改为 (以下属性中ssl开头的属性与证书配置有直接关系,其它属性请结合自己的实际情况复制或调整) : 
- server { 
- listen 443; 
- server_name abc.copylian.com; 
- ssl on; 
- root /home/wwwroot/abc.copylian.com/public; 
- index index.html index.htm index.php; 
- ssl_certificate /usr/local/cert/abc.copylian.com/1661232_wechatapi.ponyfamily.cn.pem; 
- ssl_certificate_key /usr/local/cert/abc.copylian.com/1661232_wechatapi.ponyfamily.cn.key; 
- ssl_session_timeout 5m; 
- ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; 
- ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 
- ssl_prefer_server_ciphers on; 
- #去掉$是为了不匹配行末,即可以匹配.php/,以实现pathinfo 
- #如果你不需要用到php5后缀,也可以将其去掉 
- location ~ .php 
- { 
- #原有代码 
- fastcgi_pass unix:/tmp/php-cgi.sock; 
- fastcgi_index index.php; 
- include fastcgi_params; 
- #定义变量 $path_info ,用于存放pathinfo信息 
- set $path_info ""; 
- #定义变量 $real_script_name,用于存放真实地址 
- set $real_script_name $fastcgi_script_name; 
- #如果地址与引号内的正则表达式匹配 
- if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") { 
- #将文件地址赋值给变量 $real_script_name 
- set $real_script_name $1; 
- #将文件地址后的参数赋值给变量 $path_info 
- set $path_info $2; 
- } 
- #配置fastcgi的一些参数 
- fastcgi_param SCRIPT_FILENAME $document_root$real_script_name; 
- fastcgi_param SCRIPT_NAME $real_script_name; 
- fastcgi_param PATH_INFO $path_info; 
- fastcgi_param PHP_ADMIN_VALUE "open_basedir=/home/wwwroot/abc.copylian.com:/tmp/:/proc/"; 
- } 
- location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ 
- { 
- expires 30d; 
- } 
- location ~ .*\.(js|css)?$ 
- { 
- expires 1h; 
- } 
- location ~ ^(.*)\/\.svn\/{ 
- deny all; 
- } 
- #伪静态规则 
- location / { 
- if (!-e $request_filename) { 
- rewrite ^(.*)$ /index.php?s=$1 last; 
- break; 
- } 
- } 
- #错误日志 
- access_log /home/wwwlogs/abc.copylian.com.access.log; 
- error_log /home/wwwlogs/abc.copylian.com.error_log; 
- } 
- 重启 Nginx。 
 
 
 
 
文明上网理性发言!