Nginx

Nginx 使用變數過期指令

  • February 11, 2021

我正在嘗試設置動態過期標頭。這基本上是我的配置:

# http context
map $request_uri $expires_time {

  default -1;

  *.js max;
}

server {
 # server_name/proxy_headers/listen/ssl
 location / {
   
   expires $expires_time;
   proxy_pass http_serverving_docker_container.docker;
 }
}

我在以下位置收到此錯誤消息nginx -t

nginx: [emerg] "expires" directive invalid value in /etc/nginx/sites-enabled/config:57 # <- this is the expires line
nginx: configuration file /etc/nginx/nginx.conf test failed

如果我用一個數字(例如:-1)交換它,那麼一切都很好。我不允許在這裡使用變數嗎?我仔細閱讀了過期的手冊頁,但沒有看到任何提及。

附加資訊:Nginx 版本:nginx/1.6.2 Linux 版本:Debian GNU/Linux 8 (jessie)

您在過時的 Linux 發行版上使用過時的 nginx 版本。兩者都需要盡快升級。

尤其:

  • Debian 8 已經結束了 LTS 支持。它不會收到進一步的更新,甚至不會收到安全更新。將此系統連接到 Internet 存在極大的風險。
  • 正如文件所述,在 nginxexpires指令中使用變數至少需要 1.7.9 版本。

引用自:https://serverfault.com/questions/1053245