nginx: emerg: 未知 "request_url" 变量

nginx: emerg: unknown "request_url" variable

我正在尝试在 Digital Ocean 的 Droplet 上 Ubuntu 配置 Nginx 服务器。

当我 运行 sudo nginx -t 时,出现错误

[emerg] unknown "request_url" variable 并且还说了一些关于 etc/nginx/nginx.conf 文件的内容,但我没有看到 "request_url" 在下面的文件中的任何地方被使用。

这是我的 default 配置文件

# Enforce HTTPS
server {
    listen 80;
    listen [::]:80;
    return 301 https://$host$request_uri;
}

# Proxy all requests to Node
server {
    # Enable HTTP/2
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name api.storybook.space;

    # Use the Let's Encrypt certificates
    ssl_certificate /etc/letsencrypt/live/api.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/api.example.com/privkey.pem;

    # Include the SSL configuration from cipherli.st
    include snippets/ssl-params.conf;

    location / {
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-NginX-Proxy true;
        proxy_pass http://localhost:5000/;
        proxy_ssl_session_reuse off;
        proxy_set_header Host $http_host;
        proxy_cache_bypass $http_upgrade;
        proxy_redirect off;
    }
}

我已经尝试搜索有关此问题的答案,但 none 可以解决我的问题。

谁能给我指出正确的方向?

成功了。

看起来它与缓存有关(可能不是正确的词)等。 我创建了一个新的 VM 并在其上执行了相同的步骤。使用和不使用 SSL 都能完美工作。

之前,在设置时,我不小心输入了 $host$request_url 而不是 $host$request_uri 一次,从那以后我就一直收到这个错误

希望对您有所帮助!