1 votes

Configuration de nginx pour le service de ressources sécurisées

J'ai une application web qui a un contenu statique et qui peut servir des pages dynamiques et un contenu sécurisé. Le contenu statique se trouve dans /public et doivent être servis directement par nginx . Le contenu dynamique est servi par 127.0.0.1:3000 en amont. Le contenu sécurisé est également servi par l'amont et disponible à partir de /assets/* URLs. Ce contenu sécurisé peut avoir les mêmes extensions de fichier que le contenu statique, mais il se trouve toujours dans le format /assets/ .

J'ai un travail nginx avec deux sites ayant les mêmes règles de proxys. Existe-t-il un moyen de réduire ma configuration en joignant les deux sites desservis par l'amont ?

server {
  server_name  example.name;
  root /home/user/ruby18/app/public;
  try_files $uri @thin;
  location ^~ /assets/ {
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_redirect off;
    proxy_pass http://thin;
  }
  location ~* \.(jpeg|jpg|gif|png|ico|css|bmp|js)$ {
    root /home/user/ruby18/app/public;
  }
  location @thin {
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_redirect off;
    proxy_pass http://thin;
  }
  error_page 500 502 503 504 /50x.html;
  location = /50x.html {
    root html;
  }
}

upstream thin {
  server 127.0.0.1:3000;
}

3voto

quanta Points 49664

include est ce que vous recherchez.

/etc/nginx/proxy.conf

    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    proxy_redirect off;
    proxy_pass http://thin;

/etc/nginx/nginx.conf

server {
    server_name  example.name;
    root /home/user/ruby18/app/public;
    try_files $uri @thin;
    location ^~ /assets/ {
        include proxy.conf;
    }
    location @thin {
        include proxy.conf;
    }
    ...

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X