每日前端
大道至简

腾讯云用nginx配置实现https并解决php文件变成直接下载的问题

腾讯云可以申请免费的ssl证书,有效期为1年,申请地址

申请成功后可以可以如图看到下载证书的地方

 

下载的文件夹里面有个Nginx文件夹内获得SSL证书文件 1_www.domain.com_bundle.crt 和私钥文件 2_www.domain.com.key

把这两个文件上传到腾讯云服务器,我是放在了nginx配置文件的根目录,方便引入

将域名 www.domain.com 的证书文件1_www.domain.com_bundle.crt 、私钥文件2_www.domain.com.key保存到同一个目录,例如/etc/nginx目录下。
在/etc/nginx/nginx.conf 文件原来的server配置文件下面新增加一个server,代码如下:

server {
listen 443;
server_name www.domain.com; #填写绑定证书的域名
ssl on;
charset utf-8;
ssl_certificate 1_www.domain.com_bundle.crt; #证书文件路径,这里我直接放在了nginx配置文件的根目录
ssl_certificate_key 2_www.domain.com.key; #私钥文件
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
location / {
root /usr/share/nginx/html; #站点目录
index index.php index.html index.htm;
}

#以下了为了解析php的,否则会出现https配置好后,访问时变成下载文件

location ~ .*\.(php|php5)?$ {
root /usr/share/nginx/html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param HTTPS on;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
include fastcgi.conf;
}
}

配置完成后,先用/usr/sbin/nginx -t 来测试下配置是否有误,正确无误的话,用sudo nginx -s reload重启nginx。就可以使 https://www.domain.com 来访问了。

未经允许不得转载:每日前端 » 腾讯云用nginx配置实现https并解决php文件变成直接下载的问题
分享到: 更多 (0)

评论 抢沙发

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

一个更全的前端开发资源库

立即前往