Mastodon을 4C8G VPS로 마이그레이션한 후 본토와의 네트워크 연결이 좋지 않아 역방향 프록시를 사용하고 다단계 프록시를 사용했으며 백엔드에서 얻은 IP는 가장 바깥쪽 프록시 IP로 고정되었으며 백그라운드에서 동일한 IP를 공유하는 여러 계정처럼 보였습니다.
Mastodon이 실제 게스트 IP를 얻도록 하려면 어떻게 해야 합니까? 이 기사에서는 간단한 다단계 프록시 상황에서 게스트 IP를 얻는 데 사용할 수 있는 nginx 플러그인 'nginxhttprealip_module'를 소개합니다.
이 플러그인의 기능은 신뢰할 수 있는 프록시의 IP 주소를 미리 정의하고, X-forwarded-For 정보에 따라 신뢰할 수 있는 프록시의 IP 주소를 필터링하고, 마지막으로 실제 게스트 IP를 남기는 것입니다.
[공식 문서] (http://nginx.org/en/docs/http/ngxhttprealip_module.html)
여기에 설치는 웹 서버에만 설치하면 되며 이전 에이전트는 플러그인을 설치할 필요가 없습니다.
여기서는 모두 LNMP 환경에서 설치되며, 먼저 lnmp1.7 폴더로 이동한 다음 lnmp.conf를 편집하여 'NginxModulesOptions' 따옴표 안에 '--with-httprealipmodule'를 추가합니다.
다음과 같이 수정합니다.
Download_Mirror='https://soft.vpser.net' Nginx_Modules_Options='--http_realip_module 포함' PHP_Modules_Options='' ##MySQL/MariaDB 데이터베이스 디렉토리## MySQL_Data_Dir='/usr/local/mysql/var' MariaDB_Data_Dir='/usr/local/mariadb/var' ##Default 웹사이트 홈 디렉토리## Default_Website_Dir='/홈/wwwroot/기본값' Enable_Nginx_Openssl='y' Enable_PHP_Fileinfo='n' Enable_Nginx_Lua='n' Enable_Swap='y'
그런 다음 현재 디렉터리에서 NGINX 업그레이드 명령을 실행합니다.
./upgrade.sh nginx
현재 버전 번호를 입력하고 Enter 키를 눌러 플러그인을 추가하면 일반적으로 빠르게 완료됩니다.
세 개의 역방향 프록시와 하나의 웹 서비스가 있다고 가정해 보겠습니다.
역방향 프록시 1: 10.0.0.1 역방향 프록시 2: 10.0.0.2 역방향 프록시 3: 10.0.0.3 웹 서버 : 10.0.0.4
역방향 프록시 1:
서버 { 듣기 80; server_name xxx.test.com; 위치 / { proxy_pass http://10.0.0.2; proxy_http_version 1.1; Proxy_set_header 호스트 $http_host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
역방향 프록시 2:
서버 { 듣기 80; server_name xxx.test.com; 위치 / { proxy_pass http://10.0.0.3; proxy_http_version 1.1; Proxy_set_header 호스트 $http_host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
역방향 프록시 3:
서버 { 듣기 80; server_name xxx.test.com; 위치 / { proxy_pass http://10.0.0.4; proxy_http_version 1.1; Proxy_set_header 호스트 $http_host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }
마지막으로 신뢰할 수 있는 프록시의 IP를 필터링하도록 웹 서버를 구성해야 합니다.
서버 { 듣기 80; server_name ip.test.com; #自定义可信代理 IP set_real_ip_from 10.0.0.2; set_real_ip_from 10.0.0.3; set_real_ip_from 10.0.0.4; real_ip_header X-포워드-포워드; #排除代理 IP real_ip_recursive 켜짐; 루트 / wwwroot; 인덱스 인덱스.php; 위치 / { default_type text/html; return 200 '이것은 텍스트입니다!'; } }
이 모든 작업이 완료되면 각 노드에 대해 nginx를 다시 로드하는 것을 잊지 마십시오. 모든 작업이 완료된 후 내 Mastodon에 액세스하기 위해 IP를 변경했을 때 마침내 다른 IP가 표시되어 IP 투명 전송 기능이 구현되었음을 나타냅니다.
다음 기사에서는 Nginx의 트래픽 부하 분산 및 DNS 확인 부하 분산에 대해 작성할 계획입니다.
이 글은 OpenAI ChatGPT for iOS의 특징을 간략하게 소개하고 타사의 장점과 단점을 비교하고 몇 가지 사소한 문제점을 설명합니다.
이 기사에서는 자신만의 RSS 피드를 구축하는 방법과 구덩이 및 구덩이 채우기 기술에 대해 설명합니다.
Windows 시스템을 안전하게 정품 인증하려면 자체 구축 KMS 서버가 최선의 선택입니다.
이 글은 제 글 표지 이미지 제작 과정을 간략하게 소개합니다.
이 기사에서는 부트스트랩에서 타사 글꼴을 배포하는 두 가지 방법을 간략하게 소개합니다.
목차
인기 태그
더 많은 언어
사이트 정보