PHP +Nginx 配置 https 访问
前两天遇到一个问题 浏览器访问 项目时 会跳转 贴吧404 页面 ,第一次点击 会跳转404 第二次点击 又是正常的,其他浏览器均 出现过这种问题,唯独火狐例外,我就开始找原因,后来发现 项目是 http 协议传输的,比较容易被劫持,于是开始了尝试 https ssl;
申请证书 有免费的可供下载体验 下载证书 根据配置下载 在服务器 nginx 配置文件 中 新建文件 夹cert ,将证书文件放入cert 开始配置nginx 配置文件server {
listen 443;
server_name xxx.xxx.com;#此处根据自身域名填写
index index.php index.html;
root /data/html/archean/;
ssl on;
ssl_certificate cert/xxx.com.pem;#此处为证书路径
ssl_certificate_key cert/xxx.com.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;
location / {
if (!-e $request_filename){
rewrite ^(.*)$ /index.php?s=$1 last; break;
}
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ ^(.*)/.svn/{
deny all;
}
location ~* .*\.(gif|jpg|jpeg|png|bmp|swf|txt)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
access_log off;
expires 24h;
}
error_page 404 500 502 503 504 /404.html;
location = /404.html {
root /data/html/archean;
}
}
server
{
# 80端口是http正常访问的接口
listen 80;
server_name xxx.xxx.com;#此处根据自身域名填写
rewrite ^(.*) https://$host$1 permanent;
}
然后检查 nginx 配置 是否 有效: nginx -t 如出现 succeessful 表示成功
刷新配置使配置生效:nginx -s reload
成功 问题解决啦