Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 17771|Répondre: 1

[Web] nginx obtient la véritable adresse IP de l’utilisateur

[Copié le lien]
Publié sur 19/05/2018 11:38:55 | | | |
Certaines de nos interfaces impliquent des modifications des informations utilisateur, et ces interfaces ne permettent que la partie d’accès de nous ajuster, donc nous avons une liste blanche IP sur nginx.

Il est équipé de l’IP de sortie de la partie accèse.

Voici les journaux de notre accès nginx.



nginx prend notre $remote_addr comme véritable IP, mais en réalité, $http_X_Forwarded_For est la véritable IP de l’utilisateur, $remote_addr est simplement l’adresse réseau privée de notre f5 (utilisateur -->f5 --> nginx), ce qui fait que nginx prend le mauvais nom et que l’utilisateur ajuste l’interface est toujours 403.

Solution:

Dans le module http plus


set_real_ip_from 10.10.10.122 ; Dis à nginx de prendre la valeur de RealIP à partir de là
real_ip_header X-Real-IP ; Le nom de la variable qui stocke la valeur RealIP

Pouvoir!

Voici que nous commençons le rapport nginx après avoir ajouté :

nginx: [emerg] unknown directive "set_real_ip_from" in /home/lnidmp/nginx/conf/nginx.conf:26




Nous ajoutons donc le module realip et recompilons nginx


1、cd /usr/local/nginx-1.6.3
2、./configure --préfixe=/usr/cmcc/nginx --avec-http_stub_status_module--avec-http_ssl_module --avec-http_realip_module
3. Faire & installer

Conseils :
1. set_real_ip_from fait référence à l’IP réelle de l’utilisateur obtenue à partir de laquelle un pré-proxy fiable

2. real_ip_header fait référence à l’IP utilisateur de la transmission proxy précédente à partir de laquelle la partie HTTP du message reçu est obtenue

3. real_ip_recursive S’il faut exclure récursivement jusqu’à ce que l’IP utilisateur soit obtenue (par défaut désactivé)

Premièrement, real_ip_header spécifier un nom d’en-tête http, qui est par défaut X-Real-IP.

(1) S’il y a 1 IP, il vérifiera si l’IP de l’expéditeur se trouve dans la liste IP de confiance spécifiée par le set_real_ip_from. S’il est digne de confiance, il pensera que la valeur IP dans cette X-Real-IP est la valeur réelle IP de l’utilisateur indiquée par l’agent précédent, il assignera donc cette valeur à sa propre variable $remote_addr ; Si elle n’est pas fiable, elle ne sera pas traitée, et $remote_addr reste l’adresse IP de l’expéditeur.

(2) Si X-Real-Ip a plusieurs valeurs IP, par exemple, le proxy précédent est défini ainsi : proxy_set_header X-Real-Ip $proxy_add_x_forwarded_for ;

Ce que vous obtenez, c’est une chaîne d’IP, donc la valeur de real_ip_recursive est cruciale pour le moment. nginx comparera les IP de la liste de confiance set_real_ip_from de droite à gauche dans la liste IP. Si la real_ip_recursive est décalée, alors lorsque l’IP la plus à droite est reconnue comme une IP de confiance, on pense que la prochaine IP (la seconde à droite) est la véritable IP de l’utilisateur. Si le real_ip_recursive est activé, il sera comparé de droite à gauche jusqu’à ce qu’il trouve une IP non fiable. Ensuite, copiez aussi la valeur IP dans $remote_addr.

Ressources:
https://help.aliyun.com/document_detail/54007.html
https://help.aliyun.com/knowledge_detail/55198.html
https://www.linux178.com/web/nginx-get-realip.html





Précédent:Les sites cartes discuz sont générées automatiquement
Prochain:Utilisez l’équilibrage de charge Alibaba Cloud pour bloquer l’accès IP aux sites web
Publié sur 18/06/2018 14:57:50 |
Écoute, nginx obtient la vraie propriété intellectuelle
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com