server_name regex在nix-shell中无法正常工作

时间:2019-07-18 06:14:11

标签: nginx nix

我有一个nginx.conf,看起来像这样

server {
    listen 3000;
    server_name ~^(?<sub>.+)\.localhost$;
    root www/$sub;
}

www/hello/index.html仅包含hello world文本。

想法是http://hello.localhost将从www/hello目录中提供。使用系统范围的nginx可以正常工作,但是,当我在nix-shell中运行nginx时,出现500条错误,而没有任何其他错误消息。

在nix-shell中运行nginx

nix-shell -p "nginx" --run "nginx -p . -c nginx.conf"
% curl hello.localhost:3000

<html>
<head><title>500 Internal Server Error</title></head>
<body>
<center><h1>500 Internal Server Error</h1></center>
<hr><center>nginx/1.16.0</center>
</body>
</html>

运行系统范围的nginx

sudo nginx -p . -c nginx.conf
% curl hello.localhost:3000

hello world

可复制的仓库位于https://github.com/rnons/nginx-in-nix-shell-issue

0 个答案:

没有答案