Рубрики
Uncategorized

Практика Nginx (4) – прокси-служба nginx – прямой прокси и обратный прокси

Автор оригинала: David Wong.

I. профиль агента

1. агентство

2. Служба агентов Nginx

3. Прямой агент и обратный агент

Разница в том, что у агентов разные объекты.

Объектом прямого прокси – агента является клиент

Объектом обратного прокси-сервера является сервер

4. Прокси-модуль Nginx

грамматика

Syntax:    proxy_pass URL;
Default:    —
Context:    location, if in location, limit_except

Поддержка URL-адресов:

  1. http: http://localhost:8000/uri/
  2. https: https://192.168.1.111:8000/uri/
  3. гнездо: http://unix:/tmp/backend.socket:/uri/

II. Обратный экземпляр прокси-сервера

1. Создайте конфигурацию реальной службы для доступа:vim conf.d/real_server.configuration

server {
    #Listen to port 8080
    listen 8080;

    location / {
        #The configuration access root directory is / vagrant / proxy
        root /vagrant/proxy;
    }
}

2. Создайте конфигурацию обратного прокси-сервера vim conf.d/fx_proxy.conf

server {
    #Listen to port 80
    listen 80;
    server_name localhost;

    location ~ /fx_proxy.html {
        #Set up a reverse proxy to forward the request to visit / fx'proxy.html to http://127.0.0.1:8080
        proxy_pass http://127.0.0.1:8080;
    }
}

3. Перезагрузка Nginx – s перезагрузите файл конфигурации nginx

4. create/vagrant/proxy/fx_proxy.html файл

  • vim/vagrant/proxy/fx_proxy.html



    
        
        < title > reverse agent < / Title >
    
    
        

Reverse proxy

5. использует украденную проверку того, что все порты 80 и 8080 включены

[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                           :::*

6. Используйте curl для проверки доступа

  • http://127.0.0.1/fx_proxy.html Может быть доступен в обычном режиме
[root~]# curl http://127.0.0.1/fx_proxy.html



        
                
                < title > reverse agent < / Title >
        
        
                

Reverse proxy

  • http://127.0.0.1:8080/fx_proxy.html Может быть доступен в обычном режиме
[root~]# curl http://127.0.0.1:8080/fx_proxy.html



        
                
                < title > reverse agent < / Title >
        
        
                

Reverse proxy

III. экземпляр прокси-сервера для переадресации

Прямой прокси-сервер должен быть протестирован на официальном сервере с общедоступным IP-адресом. IP-адрес удаленного сервера-39.106.178.166, а доменное имя для тестирования – zx_proxy.ws65535.top

1. Создайте конфигурацию службы для доступа на сервере:vim conf.d/real_server.configuration

server {
    #Listen to port 80
    listen 80;
    #The domain name is zx_proxy.ws65535.top;
    server_name  zx_proxy.ws65535.top;

    location / {
        #$HTTP "X" forwarded "for can record IP addresses of clients and all intermediate agents
        #Judge whether the IP address of the client is 39.106.178.166. If not, return 403
        if ($http_x_forwarded_for !~* "^39\.106\.178\.166") {
            return 403;
        }
        root   /usr/share/nginx/html;
        index  index.html;
    }
}

2. Перезагрузка Nginx – s перезагрузите файл конфигурации nginx

3. Доступ к локальному браузеру http://zx_proxy.ws65535.top/Return 403 Запрещено, доступ запрещен

4. Создайте конфигурацию прокси-службы на сервере:vim conf.d/zx_proxy.conf

server {
    #The port the agent service listens on (Note: it depends on whether the security group of the server vendor console has enabled the port)
    listen 3389;

    #Configure DNS. 223.5.5.5 is alicloud's DNS
    resolver 223.5.5.5;
    
    #Forward agent configuration
    location / {
        proxy_pass http://$http_host$request_uri;
    }
}

5. Перезагрузка Nginx – s перезагрузите файл конфигурации nginx

6. Агент настройки браузера (ниже приведен режим настройки агента Windows 10, который настраивается другими операционными системами)

  • Панель управления – > сеть и Интернет – > агент – > настройка агента вручную

7. Используйте браузер для локального доступа после настройки агента http://zx_proxy.ws65535.top/, может быть доступен в обычном режиме