01 Jan 0001, 00:00

Share

Configuration générale de nginx et configuration en reverse proxy

Installation

apt install nginx

Généralités

nginx -t : vérifie la syntaxe des fichiers de conf
nginx -s reload : recharge les fichiers de conf

:## Main server (vhost) definition

server {
        listen 8080 default_server;        # port and defining it as default server
        # listen 443 ssl default_server;   # for SSL
        root /var/www/html;  # root directory
        index index.html index.htm index.nginx-debian.html; # filenames it might search
        server_name _;  # URL it will respond to ; _ is default
        location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
                try_files $uri $uri/ =404;
        }
}

Reverse proxy

https://www.freecodecamp.org/news/docker-nginx-letsencrypt-easy-secure-reverse-proxy-40165ba3aee2/

Pour rediriger une requête vers un hôte différent

upstream my-service {
  server        my-service-hostname:8080;
}

server {
  listen        8080;
  server_name   my-service.example.com;

  location / {
    proxy_pass  http://my-service;
  }
}

La directive server sert à définir le cas dans lequel la configuration est utilisée : on écoute sur le port 8080, on répond aux requêtes qui demandent my-service.example.com, et dans le cas où on demande l’URL / (ou à un niveau plus bas, du genre /truc/bidule.html, donc dans ce cas précis tous les chemins).
Dans ce cas, via proxy_passon passe la requete à l’hôte (défini via “upstream”) my-service.

La directive upstream sert à définir un hôte contactable par nginx ; il est nommé (dans nginx uniquement) my-service et est accessible via son adresse IP ou nom d’hôte : hostname:port

https://www.linode.com/docs/web-servers/nginx/use-nginx-reverse-proxy/

https://www.thepolyglotdeveloper.com/2017/03/nginx-reverse-proxy-containerized-docker-applications/