Maison  >  Article  >  développement back-end  >  Qu'est-ce que le service proxy Nginx ? Exemples de proxy direct et de proxy inverse nginx

Qu'est-ce que le service proxy Nginx ? Exemples de proxy direct et de proxy inverse nginx

不言
不言original
2018-08-06 11:58:484229parcourir

Cet article vous présente qu'est-ce que le service proxy Nginx ? Les exemples de proxy direct et de proxy inverse nginx ont une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère que cela vous sera utile.

1. Présentation de l'agent

1. Agent

Quest-ce que le service proxy Nginx ? Exemples de proxy direct et de proxy inverse nginx

2. >

Quest-ce que le service proxy Nginx ? Exemples de proxy direct et de proxy inverse nginx3. La différence entre le proxy direct et le proxy inverse

est que les objets du proxy sont différents.

L'objet du proxy forward est le client

Quest-ce que le service proxy Nginx ? Exemples de proxy direct et de proxy inverse nginx

L'objet du proxy inverse est le serveur

Quest-ce que le service proxy Nginx ? Exemples de proxy direct et de proxy inverse nginx

4. Module proxy Nginx ngx_http_proxy_module

Syntaxe

Prise en charge des URL :
Syntax:    proxy_pass URL;
Default:    —
Context:    location, if in location, limit_except

    http :
  1. http://localhost:8000/uri/

  2. https :
  3. https://192.168.1.111:8000/uri/

  4. prise :
  5. http://unix:/tmp/backend.socket:/uri/

  6. 2. Instance de proxy inverse

1. Créez la configuration de service réelle à laquelle accéder :

vim conf.d/real_server.conf

server {
    # 监听8080端口
    listen 8080;

    location / {
        # 配置访问根目录为 /vagrant/proxy
        root /vagrant/proxy;
    }
}
2. Créez la configuration de proxy inverse

vim conf.d/fx_proxy.conf

3. nginx -s reload Recharger le fichier de configuration nginx
server {
    # 监听80端口
    listen 80;
    server_name localhost;

    location ~ /fx_proxy.html {
        # 设置反向代理,将访问 /fx_proxy.html 的请求转发到 http://127.0.0.1:8080
        proxy_pass http://127.0.0.1:8080;
    }
}

4. Créer un

fichier

/vagrant/proxy/fx_proxy.html

vim /vagrant/proxy/fx_proxy.html
5. Utilisez
nbsp;html>

    
        <meta>
        <title>反向代理</title>
    
    
        <h1>反向代理</h1>
    
pour afficher tous les ports 80 et 8080. Allumez

ss -tln

6. Utilisez curl pour effectuer un test d'accès
[root~]# ss -tln
State       Recv-Q Send-Q Local Address:Port               Peer Address:Port
LISTEN      0      128               *:8080                          *:*
LISTEN      0      128               *:80                            *:*
LISTEN      0      128               *:22                            *:*
LISTEN      0      10        127.0.0.1:25                            *:*
LISTEN      0      128              :::22                           :::*

    peut accéder normalement
  • http://127.0.0.1/fx_proxy.html

[root~]# curl http://127.0.0.1/fx_proxy.html
nbsp;html>

        
                <meta>
                <title>反向代理</title>
        
        
                <h1>反向代理</h1>
        
    accessible normalement
  • http://127.0.0.1:8080/fx_proxy.html

  • 3.
Le proxy de transfert doit être testé sur un serveur formel avec une IP publique.
[root~]# curl http://127.0.0.1:8080/fx_proxy.html
nbsp;html>

        
                <meta>
                <title>反向代理</title>
        
        
                <h1>反向代理</h1>
        
L'adresse IP du serveur distant de l'auteur est : 39.106.178.166, et le nom de domaine utilisé pour les tests est zx_proxy.ws65535.top

1. 在服务器创建真实要访问的服务配置:vim conf.d/real_server.conf

server {
    # 监听80端口
    listen 80;
    # 域名为 zx_proxy.ws65535.top;
    server_name  zx_proxy.ws65535.top;

    location / {
        # $http_x_forwarded_for 可以记录客户端及所有中间代理的IP
        # 判断客户端IP地址是否是 39.106.178.166,不是则返回403
        if ($http_x_forwarded_for !~* "^39\.106\.178\.166") {
            return 403;
        }
        root   /usr/share/nginx/html;
        index  index.html;
    }
}

2. nginx -s reload 重新载入nginx配置文件

3. 在本地使用浏览器访问 http://zx_proxy.ws65535.top/,返回 403 Forbidden,说明访问被拒绝

Quest-ce que le service proxy Nginx ? Exemples de proxy direct et de proxy inverse nginx

4. 在服务器创建代理服务配置:vim conf.d/zx_proxy.conf

server {
    # 代理服务监听的端口(注意,一定要看服务器供应商控制台的安全组是否开启了该端口)
    listen 3389;

    # 配置DNS,223.5.5.5是阿里云的DNS
    resolver 223.5.5.5;
    
    # 正向代理配置
    location / {
        proxy_pass http://$http_host$request_uri;
    }
}

5. nginx -s reload 重新载入nginx配置文件

6. 浏览器配置代理(以下是Windows10的代理配置方式,其他操作系统自行配置)

  • 控制面板 -> 网络和Internet -> 代理 -> 手动设置代理

Quest-ce que le service proxy Nginx ? Exemples de proxy direct et de proxy inverse nginx

7. 设置代理后在本地使用浏览器访问 http://zx_proxy.ws65535.top/,可以正常访问

Quest-ce que le service proxy Nginx ? Exemples de proxy direct et de proxy inverse nginx

相关文章推荐:

Nginx如何实现跨域访问?Nginx跨域访问的实现

Nginx作为静态资源web服务来控制浏览器缓存以及实现防盗链

Nginx作为静态资源web服务并进行静态资源压缩

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!

Déclaration:
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