> 백엔드 개발 > PHP 튜토리얼 > Nginx 프록시 서비스란 무엇입니까? nginx 정방향 프록시 및 역방향 프록시의 예

Nginx 프록시 서비스란 무엇입니까? nginx 정방향 프록시 및 역방향 프록시의 예

不言
풀어 주다: 2023-04-03 16:22:01
원래의
4278명이 탐색했습니다.

이 글에서는 Nginx 프록시 서비스가 무엇인지 소개합니다. nginx 정방향 프록시와 역방향 프록시의 예는 특정 참고 가치가 있으므로 도움이 필요한 친구가 참고할 수 있기를 바랍니다.

1. 프록시 소개

1. 프록시

Nginx 프록시 서비스란 무엇입니까? nginx 정방향 프록시 및 역방향 프록시의 예2. Nginx 프록시 서비스

Nginx 프록시 서비스란 무엇입니까? nginx 정방향 프록시 및 역방향 프록시의 예3. 프록시의 개체는 다음과 같습니다. 다른.

정방향 프록시의 개체는 클라이언트입니다

Nginx 프록시 서비스란 무엇입니까? nginx 정방향 프록시 및 역방향 프록시의 예

역방향 프록시의 개체는 서버

Nginx 프록시 서비스란 무엇입니까? nginx 정방향 프록시 및 역방향 프록시의 예

4.Nginx 프록시 모듈 ngx_http_proxy_module

Syntax

Syntax:    proxy_pass URL;
Default:    —
Context:    location, if in location, limit_except
로그인 후 복사

URL 지원:

http:http://localhost:8000/uri/

  1. https:https://192.168 .1.111:8000/uri/

    http://localhost:8000/uri/

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

  3. socket:http://unix:/tmp/backend.socket:/uri/

二、反向代理实例

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

server {
    # 监听8080端口
    listen 8080;

    location / {
        # 配置访问根目录为 /vagrant/proxy
        root /vagrant/proxy;
    }
}
로그인 후 복사

2. 创建反向代理配置 vim conf.d/fx_proxy.conf

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;
    }
}
로그인 후 복사

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

4. 创建 /vagrant/proxy/fx_proxy.html 文件

  • vim /vagrant/proxy/fx_proxy.html

nbsp;html>

    
        <meta>
        <title>反向代理</title>
    
    
        <h1>反向代理</h1>
    
로그인 후 복사

5. 使用 ss -tln 查看 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
nbsp;html>

        
                <meta>
                <title>反向代理</title>
        
        
                <h1>反向代理</h1>
        
로그인 후 복사
  • http://127.0.0.1:8080/fx_proxy.html

  • socket: http://unix:/tmp/backend.socket:/uri/

2. 프록시 인스턴스에


1. 액세스할 실제 서비스 구성을 생성합니다: vim conf.d/real_server.conf

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

        
                <meta>
                <title>反向代理</title>
        
        
                <h1>反向代理</h1>
        
로그인 후 복사
🎜🎜2. 역방향 프록시 구성을 생성합니다. .d /fx_proxy.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;
    }
}
로그인 후 복사
로그인 후 복사
🎜🎜3. nginx -s reload nginx 구성 파일을 다시 로드🎜🎜🎜🎜4. /vagrant/proxy/fx_proxy.html 파일을 생성합니다🎜🎜
    🎜🎜vim /vagrant/proxy/fx_proxy.html🎜🎜🎜
server {
    # 代理服务监听的端口(注意,一定要看服务器供应商控制台的安全组是否开启了该端口)
    listen 3389;

    # 配置DNS,223.5.5.5是阿里云的DNS
    resolver 223.5.5.5;
    
    # 正向代理配置
    location / {
        proxy_pass http://$http_host$request_uri;
    }
}
로그인 후 복사
로그인 후 복사
🎜🎜5를 사용하여 포트 80과 포트 8080인지 확인하세요. 모두 열려 있습니다 🎜🎜rrreee🎜🎜6. 액세스 테스트에 컬을 사용하세요🎜🎜
    🎜🎜http://127.0.0.1/fx_proxy.html 정상적으로 접속 가능🎜 🎜🎜rrreee
      🎜🎜http://127.0.0.1:8080/fx_proxy.html 정상적으로 접속 가능🎜🎜🎜rrreee🎜 3. 정방향 프록시 예시 🎜🎜🎜정방향 프록시는 공인 IP가 있는 정식 서버에서 테스트해야 합니다. 🎜저작자의 원격 서버 IP 주소는 39.106.178.166이고, 테스트에 사용한 도메인 이름은 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,说明访问被拒绝

Nginx 프록시 서비스란 무엇입니까? 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 -> 代理 -> 手动设置代理

Nginx 프록시 서비스란 무엇입니까? nginx 정방향 프록시 및 역방향 프록시의 예

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

Nginx 프록시 서비스란 무엇입니까? nginx 정방향 프록시 및 역방향 프록시의 예

相关文章推荐:

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

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

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

위 내용은 Nginx 프록시 서비스란 무엇입니까? nginx 정방향 프록시 및 역방향 프록시의 예의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿