Nginx 프록시 관리자를 사용하여 역방향 프록시 요청 차단 및 전달을 구현하는 방법

WBOY
풀어 주다: 2023-09-26 08:41:10
원래의
1899명이 탐색했습니다.

如何使用Nginx Proxy Manager实现反向代理的请求拦截与转发

Nginx 프록시 관리자를 사용하여 역방향 프록시 요청 차단 및 전달을 구현하는 방법

Nginx 프록시 관리자는 간단한 인터페이스 구성을 통해 Nginx 역방향 프록시를 관리할 수 있는 Nginx 기반 관리 도구입니다. 이를 통해 사용자는 그래픽 인터페이스를 통해 역방향 프록시 규칙을 설정할 수 있으며 요청 흐름을 보다 효과적으로 제어할 수 있는 요청 차단 및 전달 기능도 제공됩니다. 이 기사에서는 Nginx 프록시 관리자를 사용하여 요청 차단 및 전달을 구현하는 방법을 소개하고 특정 코드 예제를 제공합니다.

  1. Nginx 프록시 관리자 설치

먼저 서버에 Nginx 프록시 관리자를 설치해야 합니다. 공식 홈페이지(https://nginxproxymanager.com/)에서 최신 버전의 설치 패키지를 다운로드한 뒤, 안내에 따라 설치하시면 됩니다. 설치가 완료되면 http://localhost:81을 통해 관리 인터페이스에 액세스할 수 있습니다. 기본 사용자 이름과 비밀번호는 admin입니다. admin

  1. 添加反向代理主机

在Nginx Proxy Manager的管理界面中,点击左边导航栏的"Hosts"选项,然后点击右上角的"Add Proxy Host"按钮。在弹出的窗口中,填写相关信息。

比如,你要将请求拦截并转发给本地的3000端口,可以按照如下配置填写:

  • Domain Names: 输入你要代理的域名或IP地址。
  • Scheme: 选择"HTTP"或"HTTPS"。
  • IP Address/Hostname: 输入你要转发的目标地址,即本地的3000端口。
  • Port: 输入你要转发的目标端口。

点击窗口底部的"Save"按钮保存配置。

  1. 设置请求拦截与转发规则

在添加完反向代理主机后,你需要设置请求拦截与转发的规则。点击左侧导航栏的"Locations"选项,然后点击右上角的"Add Location"按钮。在弹出的窗口中,填写相关信息。

  • Path: 输入你要拦截的路径。例如,你要拦截以/api开头的所有请求,可以填写为"/api"。
  • Proxy Host: 选择之前添加的反向代理主机。
  • Proxy Location: 输入你要转发的目标地址。例如,要转发到http://localhost:3000,则填写为/

点击窗口底部的"Save"按钮保存配置。

  1. 修改Nginx配置文件

为了使Nginx Proxy Manager的配置生效,还需要修改Nginx的配置文件。通过SSH登录到你的服务器,并找到Nginx的配置文件。根据你的安装方式,配置文件可能位于/etc/nginx/nginx.conf/usr/local/nginx/conf/nginx.conf

    역방향 프록시 호스트 추가

    Nginx 프록시 관리자의 관리 인터페이스에서 왼쪽 탐색 모음의 "호스트" 옵션을 클릭한 다음 메뉴에서 "프록시 호스트 추가" 버튼을 클릭하세요. 오른쪽 상단 모서리. 팝업창에 관련 정보를 입력하세요.

    예를 들어 요청을 가로채서 로컬 포트 ​​3000으로 전달하려는 경우 다음과 같이 구성을 채울 수 있습니다.

    도메인 이름: 프록시하려는 도메인 이름 또는 IP 주소를 입력합니다.

    구성표: "HTTP" 또는 "HTTPS"를 선택하세요.
  1. IP 주소/호스트 이름: 전달하려는 대상 주소(로컬 포트 ​​3000)를 입력하세요.

포트: 전달하려는 대상 포트를 입력하세요.

구성을 저장하려면 창 하단의 "저장" 버튼을 클릭하세요.

    요청 차단 및 전달 규칙 설정

    역방향 프록시 호스트를 추가한 후 요청 차단 및 전달 규칙을 설정해야 합니다. 왼쪽 탐색 표시줄에서 "위치" 옵션을 클릭한 다음 오른쪽 상단에 있는 "위치 추가" 버튼을 클릭합니다. 팝업창에 관련 정보를 입력하세요. 🎜
    🎜경로: 가로채고 싶은 경로를 입력하세요. 예를 들어 /api로 시작하는 모든 요청을 가로채려면 "/api"를 입력하면 됩니다. 🎜🎜프록시 호스트: 이전에 추가한 역방향 프록시 호스트를 선택하세요. 🎜🎜프록시 위치: 전달하려는 대상 주소를 입력하세요. 예를 들어, http://localhost:3000으로 전달하려면 /를 입력하세요. 🎜
🎜구성을 저장하려면 창 하단의 "저장" 버튼을 클릭하세요. 🎜
    🎜Nginx 구성 파일 수정🎜🎜🎜Nginx 프록시 관리자 구성을 적용하려면 Nginx 구성 파일도 수정해야 합니다. SSH를 통해 서버에 로그인하고 Nginx 구성 파일을 찾으세요. 설치 방법에 따라 구성 파일은 /etc/nginx/nginx.conf 또는 /usr/local/nginx/conf/nginx.conf에 있을 수 있습니다. 🎜🎜구성 파일에서 다음과 유사한 위치 블록을 찾습니다. 🎜
    http {
      ...
      server {
        ...
      }
    }
    로그인 후 복사
    🎜위치 블록에 다음 코드를 추가합니다. 🎜
    include /var/www/npm/fullchain.pem;
    include /var/www/npm/privkey.pem;
    
    server {
        listen 80;
        server_name your_domain.com;
    
        location / {
            proxy_pass http://127.0.0.1:81;
            proxy_set_header Host $host;
        }
    
        listen 443 ssl; # enable HTTPS
        ssl_certificate /var/www/npm/fullchain.pem; # provide your SSL certificate
        ssl_certificate_key /var/www/npm/privkey.pem; # provide your SSL certificate key
    
    }
    로그인 후 복사
    🎜위 코드에서 "/var/www/npm/fullchain.pem을 바꿔야 합니다. " 및 "/ var/www/npm/privkey.pem"을 SSL 인증서 경로로 바꾸세요. 또한 "your_domain.com"을 도메인 이름으로 바꾸세요. 🎜🎜파일을 저장하고 종료한 다음 Nginx 구성 파일을 다시 로드합니다. 🎜
    sudo nginx -t
    sudo service nginx restart
    로그인 후 복사
    🎜🎜Test🎜🎜🎜위 단계를 완료한 후 브라우저에서 도메인 이름에 액세스하고 요청이 성공적으로 전달되었는지 관찰할 수 있습니다. 로컬 3000 포트. 브라우저의 개발자 도구를 열고 '네트워크' 탭에서 요청 세부정보를 볼 수 있습니다. 🎜🎜모든 것이 올바르게 구성되면 요청을 성공적으로 가로채서 로컬 포트 ​​3000으로 전달해야 하며, 그러면 해당 콘텐츠가 브라우저에 표시됩니다. 🎜🎜요약🎜🎜이 글에서는 Nginx 프록시 관리자를 사용하여 요청 차단 및 전달을 구현하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. Nginx 프록시 관리자의 간단한 구성을 통해 역방향 프록시의 요청 흐름 제어를 쉽게 구현하여 서버의 요청을 더 잘 관리할 수 있습니다. 이 기사가 Nginx 프록시 관리자를 사용하여 요청을 가로채고 전달하는 방법을 이해하는 데 도움이 되기를 바랍니다. 🎜

위 내용은 Nginx 프록시 관리자를 사용하여 역방향 프록시 요청 차단 및 전달을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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