nginx-header Expires und reverse-proxy funktioniert nicht

Ich versuche zu konfigurieren, einen Expires-header für statische Dateien auf nginx (0.7.67). Die statischen Dateien werden serviert von einem Golang-reverse-proxy:

location /rev/{
  proxy_pass http://localhost:8910/;
  proxy_redirect off;
  proxy_set_header  Host               $host;
  proxy_set_header  X-Real-IP          $remote_addr;
  proxy_set_header  X-Forwarded-For    $proxy_add_x_forwarded_for;
  proxy_set_header  X-Forwarded-Proto  https;

  # I am putting this here, because nginx only uses one location. Is this OK?
  location ~* \.(js|css|jpg|jpeg|gif|png|svg|ico|pdf|html|htm)$ {
    expires 30d;
  }
}

Wenn ich es auf diese Weise ist es kein Fehler, Neustart von nginx, aber die statischen Dateien werden nicht mehr bedient.

Ich schon versucht die folgende Konstellation, aber es funktioniert nicht:

server {
  ...
  location /rev/{
    proxy_pass http://localhost:8910/;
    proxy_redirect off;
    proxy_set_header  Host               $host;
    proxy_set_header  X-Real-IP          $remote_addr;
    proxy_set_header  X-Forwarded-For    $proxy_add_x_forwarded_for;
    proxy_set_header  X-Forwarded-Proto  https;
  }

  location ~* \.(js|css|jpg|jpeg|gif|png|svg|ico|pdf|html|htm)$ {
      expires 30d;
  }
}

Frage: Wie kann ich einen expires-header für statische Dateien, die sich auf eine Anwendung hinter einem reverse-proxy?

  • Ich Frage mich, warum dies nicht auf serverfault?
InformationsquelleAutor Kiril | 2013-03-09
Schreibe einen Kommentar