Maison > Opération et maintenance > Nginx > Comment résoudre le problème de l'impossibilité d'obtenir la véritable adresse IP du client après le proxy inverse Nginx

Comment résoudre le problème de l'impossibilité d'obtenir la véritable adresse IP du client après le proxy inverse Nginx

PHPz
Libérer: 2023-05-14 09:58:05
avant
1800 Les gens l'ont consulté

Lorsque nous utilisons le service de transfert de proxy Nginx, nous constaterons que nous ne pouvons pas obtenir la véritable adresse IP du client, et donc que nous ne pouvons pas obtenir l'emplacement géographique du client et d'autres informations.

1. Le fichier de configuration d'origine est le suivant

worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    
    keepalive_timeout  65;

    server {
        listen       80;
        server_name  localhost;

        location / {
            root   html;
            index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

}
Copier après la connexion

2. Après avoir configuré le transfert

worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    
    keepalive_timeout  65;

    server {
        listen       80;
        server_name  localhost;

        location / {
            root   html;
            index  index.html index.htm;
        }
        
        # 代理转发
        location /api/{
            proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header REMOTE-HOST $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Public-Network-URL http://$http_host$request_uri;
            proxy_pass http://localhost:8080/;
        }
        
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

}
Copier après la connexion

De cette façon, nous pouvons transmettre ensemble les informations d'en-tête du client et obtenir la véritable adresse IP de l'utilisateur.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:yisu.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal