通过nginx -t
,找到了valet 的 nginx 配置文件路径 /usr/local/etc/nginx/nginx.conf
在配置文件中又找到了3个引入的文件路径
include "/Users/heartide/.config/valet/Nginx/*";
include servers/*;
include valet/valet.conf;
由此可以看出,valet 的 nginx 是支持自行扩展配置的
于是在 /usr/local/etc/nginx/servers
中,新建 test.conf
文件,配置如下
server {
listen 80;
server_name aaa-bbb.test;
location / {
default_type application/json;
return 200 '{"status":"success"}';
}
}
之后 curl http://aaa-bbb.test/
,测试发现并未生效,而是返回了一个404错误
通过排查源码发现,404 正是 valet/valet.conf
返回的
也就是我们自己配置的文件并未生效
同时也发现 valet/valet.conf
的 listen
是这样写的
server {
listen 127.0.0.1:80 default_server;
#......
}
应该是127.0.0.1:80
的优先级比单单写80
更高,所以导致我们扩展的配置被忽略了,所以改写成如下:
server {
listen 127.0.0.1:80;
server_name aaa-bbb.test;
location / {
default_type application/json;
return 200 '{"status":"success"}';
}
}
问题解决!