nginx 06 异常处理指南

调整 conf 文件后报错

[emerg] 1#1: unknown directive “user” in /etc/nginx/nginx.conf:1

[emerg] 1#1: unknown directive “” in /etc/nginx/nginx.conf:1

是个很低级的错误,

多半是 nginx.onf 文件掺杂了奇怪的字符。

如果你是用 xftp 等软件右键编辑的,

可能就会引发这个问题,建议用linux 命令行!!

https 配置后报错

the “ssl” directive is deprecated, use the “listen … ssl”

见这篇文章,关于 Nginx 配置 https (适用nginx 1.15.0 之后)的介绍

问题:无法访问

如果用ip:port方式访问不到,请关闭防火墙或放行端口后再测试。

参考《linux 防火墙》

问题:502

如果是location配置的是/api/cv/

前端请求http://localhost:9001/api/cv,此时肯定会502

location应该是/api/cv

问题:远程挂载或本地磁盘访问出现 403

修改nginx.conf,将第一行修改为 user root;,保存退出

重启nginx,问题解决

nginx: [emerg] BIO_new_file

[emerg] BIO_new_file(“/etc/nginx/ssl_key/server.crt”) failed (SSL: error:02001002:syste

这可能是一个很低级错误。提示中路径很明显了,文件找不到

上面这个路径是docker里的路径,我们是否-v了正确的路径???

请仔细检查是否路径映射错了!!

[emerg] host not found in upstream

检查dns是否配置,测试ping www.baidu.com,若不通,则:

vim /etc/resolv.conf 添加114.114.114.114

重启nginx,若还不行,修改配置:

location /foo/ {
    resolver 114.114.114.114; 
    set $backend "api.example.com";
    proxy_pass https://$backend;
}

再重启,解决

这个错不清楚什么情况。
当天我使用了上面的方案解决了问题,但是
第二天把这些都删了,直接使用proxy_pass常规配置也是可以的

https 配置后access.log乱码

检查下是否依照下面的模板配置,并且ssl on是一定要配置的

server {
    listen       8888;
    server_name  11.28.89.93;
    ssl on;
    ssl_certificate /data/nginx/cert/3633480_fx.demo1024.com.pem;
    ssl_certificate_key /data/nginx/cert/3633480_fx.demo1024.com.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;
    charset utf-8;
    location /wechat_mini/{
        alias /data/nginx/apps/wechat_mini/;
    }
}

转载请注明来源。 欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。 可以在下面评论区评论,也可以邮件至 sharlot2050@foxmail.com。

文章标题:nginx 06 异常处理指南

字数:525

本文作者:夏来风

发布时间:2017-08-26, 15:37:24

原始链接:http://www.demo1024.com/blog/nginx-error/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。