Nginx的conf文件出现Unicode特殊字符

Nginx的conf文件出现Unicode特殊字符

Nginx的conf文件出现Unicode特殊字符_第1张图片

脑壳疼整整两天

问题描述

在同一个配置文件下相同的配置,不同端口的两个server,两个端口所代理的服务却形成了互补

例如:原有8888端口ABCD是个代理,ABD正常可以访问到,C代理不到,现将8888复制一份成为8008端口,两个端口中同有ABCD四个代理,重启后8008ABC正常可以访问到D访问不到。
nginx.conf文件如下

worker_processes  16;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    sendfile        on;
    keepalive_timeout 100;
	server {
		listen  6666;
		server_name localhost:6666;
		location /A {
            proxy_pass http://localhost:7001/a;
		}
		location /B {
            proxy_pass http://localhost:7002/b;
		}
		location /C {
            proxy_pass http://localhost:7003/c;
		}
		location /D{
			proxy_pass http://localhost:7004/d;
		}
    }
	server {
		listen  8008;
		server_name localhost:8008;
		location /A {
            proxy_pass http://localhost:7001/a;
		}
		location /B {
            proxy_pass http://localhost:7002/b;
		}
		location /C {
            proxy_pass http://localhost:7003/c;
		}
		location /D{
			proxy_pass http://localhost:7004/d;
		}
	}
}


原因分析思路:

报错500后的思路
后台服务出错>>>nginx路径>>>nginx的location有上限>>>代理后路径转发

1.后台没有任何路径访问日志
2.location路径、proxy路径全部改过(去除前缀和不去除前缀),之后排除掉
3.增加、删除之后也排除掉
4.是不是转后路径多层还是少了,多层的话后台是会产生日志的,少了的话nginx应该是502排除掉


解决方案:

直到今天早上才找到问题原因,conf文件中出现<200b>这种东西,因为我是在windows下编辑直接上传到服务器,之前也没碰到过,直到今天早上vim nginx.conf之后才找到这个问题的,删除之后正常了。Nginx的conf文件出现Unicode特殊字符_第2张图片

这个<200b>是Unicode编码
Unicode名称 Zero Width Space
符号含义为:零宽间隔,常用标点

你可能感兴趣的:(Nginx,nginx)