Aller au contenu

Récupérer IP réélle derrière NginxProxyManager


Viandox

Messages recommandés

Bonjour,

Je recherche depuis quelques temps le moyen de faire passer l'IP réélle des clients qui se connectent au NAS au travers d'un proxy.

L'infrastructure chez moi est :

CLIENT  ==> ROUTEUR ==> NPM DOCKER (UBUNTU SERVER) ==> SYNO

J'accède très bien au nas avec mon domaine du type nas.ndd.fr.

Le souci est que l'IP d'origine est toujours celle du serveur. J'ai tenté d'ajouter des règles dans NPM, via "Custom locations" ou même en éditant directement le fichier .conf mais je n'ai pas résultat escompté.

J'ai trouvé ce script qui est utile quand on utilise docker sur le syno, ce qui n'est pas mon cas.     https://gist.github.com/pedrolamas/

Voici ma configuration NPM :

1.png.7f4c62cea2cc94c32da3f7c89d5a489f.png

Lorsque j'ajoute une "Custom locations" ceci s'ajoute dans le fichier .conf

location / {
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-Scheme $scheme;
    proxy_set_header X-Forwarded-Proto  $scheme;
    proxy_set_header X-Forwarded-For    $remote_addr;
    proxy_set_header X-Real-IP		$remote_addr;
    proxy_pass       http://192.168.1.71:5135;

Screenshot2024-06-30at19-07-16NginxProxyManager.thumb.png.5d9712556b30ef36835297fa82bbdf66.png

 

J'accède toujours au nas mais l'IP n'est pas transmise.

J'ai l'impression que le NAS ne prend pas en compte les en-têtes transmises.

L'un d'entre vous a-t-il déjà réussi?


Fichier .conf complet:

# ------------------------------------------------------------
# XXXXXX.NDD.FR
# ------------------------------------------------------------

map $scheme $hsts_header {
    https   "max-age=63072000;includeSubDomains; preload";
}

server {
  set $forward_scheme http;
  set $server         "192.168.1.71";
  set $port           5135;

  listen 80;
listen [::]:80;

listen 443 ssl http2;
listen [::]:443 ssl http2;

  server_name XXXXXX.NDD.FR;

  # Let's Encrypt SSL
  include conf.d/include/letsencrypt-acme-challenge.conf;
  include conf.d/include/ssl-ciphers.conf;
  ssl_certificate /etc/letsencrypt/live/npm-120/fullchain.pem;
  ssl_certificate_key /etc/letsencrypt/live/npm-120/privkey.pem;

# Asset Caching
  include conf.d/include/assets.conf;

  # Block Exploits
  include conf.d/include/block-exploits.conf;

  # HSTS (ngx_http_headers_module is required) (63072000 seconds = 2 years)
  add_header Strict-Transport-Security $hsts_header always;

    # Force SSL
    include conf.d/include/force-ssl.conf;

proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;
proxy_http_version 1.1;

  access_log /data/logs/proxy-host-59_access.log proxy;
  error_log /data/logs/proxy-host-59_error.log warn;

  location / {
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-Scheme $scheme;
    proxy_set_header X-Forwarded-Proto  $scheme;
    proxy_set_header X-Forwarded-For    $remote_addr;
    proxy_set_header X-Real-IP		$remote_addr;
    proxy_pass       http://192.168.1.71:5135;

    # Asset Caching
  include conf.d/include/assets.conf;

  # Block Exploits
  include conf.d/include/block-exploits.conf;

    # Force SSL
    include conf.d/include/force-ssl.conf;

  # HSTS (ngx_http_headers_module is required) (63072000 seconds = 2 years)
  add_header Strict-Transport-Security $hsts_header always;

    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection $http_connection;
    proxy_http_version 1.1;
 
  }

  # Custom
  include /data/nginx/custom/server_proxy[.]conf;
}

 

 

 

Modifié par Viandox
Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.