最近在centOS7中为Nginx配置https时遇到了一些问题,希望此文章可以帮助到需要帮助的人~
Nginx 报 file not found 错误
location ~ \.php$ { #开启php解析
root 项目主目录;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
将 # fastcgi_param SCRIPT_FILENAME script$fastcgi_script_name
改为:
fastcgi_paramSCRIPT_FILENAME
/usr/local/nginx/html$fastcgi_script_name; #指定路径
include fastcgi_params;
服务器重启Nginx报错
- nginx: [emerg] cannot load certificate “/etc/nginx/cert/4277470_www.luckyy.vip.pem”: BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen(‘/etc/nginx/cert/4277470_www.luckyy.vip.pem’,’r’) error:2006D080:BIO routines:BIO_new_file:no such file)
cert 的文件位置不对,放到nginx的安装目录下
-
the “ssl” directive is deprecated, use the “listen … ssl” directive instead in /etc/nginx/conf.d/default.conf:
开启https的方式不对,nginx版本升级后有修改
listen 443
ssl on
改成
listen 443 ssl;
nginx配置https后,网站出现无法访问情况
firewall-cmd --state 查看防火墙状态
firewall-cmd --zone=public--add-port=443/tcp--permanen(指定端口通过防火墙)
firewall-cmd --reload防火墙firewall相关命令查看骚杨blog的文章
升级https后总是下载首页
在ssl server中加入解析php的代码
location ~ .*\.php$ {
root /www/MyWordPress;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param HTTPS on;
fastcgi_param SCRIPT_FILENAME 指定项目目录$fastcgi_script_name;
# fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
升级https后首页正常,其他页面404,将代码加到location中
location / {
root D:/WWW/Lifes/public;
index index.html index.htm index.php;
try_files $uri $uri/ /index.php?$query_string;
if (!-e $request_filename){
rewrite ^/(.*) /index.php last;
}
}
如果是wordpress的话,因为固定连接的原因,可以将固定链接更改成朴素模式或者是自定义模式,后期可以根据自身情况修改Nginx伪静态
本文为作者原创,允许转载,同步与骚杨'Blog ,转载请说明文章出处,欢迎关注。
注:如果本篇博客有任何错误或建议,欢迎留言,我会及时跟进并更正内容!感谢大家~