ì í, 802.11n 무ì ë¤í¸ìí¬ ë°±ì ë°ì¤ãíì캡ìãì ë´¬
차례:
리버스 프록시는 클라이언트 요청을 받고 하나 이상의 프록시 서버로 요청을 보내고 응답을 가져오고 서버의 응답을 클라이언트에 전달하는 서비스입니다.
성능과 확장 성으로 인해 NGINX는 종종 HTTP 및 비 HTTP 서버의 리버스 프록시로 사용됩니다. 일반적인 리버스 프록시 구성은 Nginx를 Node.js, Python 또는 Java 애플리케이션 앞에 두는 것입니다.
Nginx를 리버스 프록시로 사용하면 몇 가지 추가 이점이 있습니다.
- 로드 밸런싱 -Nginx는로드 밸런싱을 수행하여 프록시 서버에 클라이언트 요청을 분산시켜 성능, 확장 성 및 안정성을 향상시킵니다. 캐싱 -Nginx를 리버스 프록시로 사용하면 사전 렌더링 된 페이지 버전을 캐시하여 페이지로드 시간을 단축 할 수 있습니다. 프록시 서버의 응답에서 수신 한 컨텐츠를 캐싱하고 매번 동일한 컨텐츠에 대해 프록시 서버에 접속하지 않고도 클라이언트에 응답하는 데 사용합니다. SSL 종료 -Nginx는 클라이언트와의 연결을위한 SSL 엔드 포인트 역할을 할 수 있습니다. 들어오는 SSL 연결을 처리 및 해독하고 프록시 서버의 응답을 암호화합니다. 압축 -프록시 서버가 압축 된 응답을 보내지 않으면 응답을 클라이언트로 보내기 전에 압축하도록 Nginx를 구성 할 수 있습니다. DDoS 공격 완화 -단일 IP 주소 당 들어오는 요청 및 연결 수를 일반 사용자에게 일반적인 값으로 제한 할 수 있습니다. Nginx를 사용하면 클라이언트 위치와 "User-Agent"및 "Referer"와 같은 요청 헤더 값을 기반으로 액세스를 차단하거나 제한 할 수 있습니다.
이 기사에서는 Nginx를 리버스 프록시로 구성하는 데 필요한 단계를 설명합니다.
전제 조건
우분투, CentOS 또는 데비안 서버에 Nginx가 설치되어 있다고 가정합니다.
Nginx를 리버스 프록시로 사용
Nginx를 HTTP 서버에 대한 리버스 프록시로 구성하려면 도메인의 서버 블록 구성 파일을 열고 그 안에 위치 및 프록시 서버를 지정하십시오.
server { listen 80; server_name www.example.com example.com; location /app { proxy_pass http://127.0.0.1:8080; } }
프록시 서버 URL은
proxy_pass
지시문을 사용하여 설정되며 프로토콜, 도메인 이름 또는 IP 주소로
HTTP
또는
HTTPS
를 사용하고 주소로 선택적 포트 및 URI를 사용할 수 있습니다.
위의 구성은 Nginx에게 모든 요청을
/app
위치의 프록시 서버 (
http://127.0.0.1:8080
로 전달하도록 지시합니다.
/etc/nginx/sites-available
디렉토리에, CentOS는
/etc/nginx/conf.d
디렉토리에 저장됩니다.
location
및
proxy_pass
지시문의 작동 방식을보다 잘 설명하기 위해 다음 예제를 살펴 보겠습니다.
server { listen 80; server_name www.example.com example.com; location /blog { proxy_pass http://node1.com:8000/wordpress/; } }
방문자가
http://example.com/blog/my-post
에 액세스하면 Nginx는이 요청을
http://node1.com:8000/wordpress/my-post
프록시합니다.
프록시 서버의 주소에 URI (
/wordpress/
)가 포함 된 경우 프록시 서버에 전달 된 요청 URI는 지시문에 지정된 URI로 대체됩니다. 프록시 서버의 주소가 URI없이 지정되면 전체 요청 URI가 프록시 서버로 전달됩니다.
요청 헤더 전달
Nginx는 요청을 프록시 할 때 클라이언트의 프록시 요청 인
Host
및
Connection
에서 두 개의 헤더 필드를 자동으로 정의하고 빈 헤더를 제거합니다.
Host
는
$proxy_host
변수로 설정되고
Connection
은 닫히도록 설정됩니다.
프록시 연결에 대한 헤더를 조정하거나 설정하려면
proxy_set_header
지시문과 헤더 값을 사용하십시오. 사용 가능한 모든 요청 헤더 및 허용되는 값 목록을 여기에서 찾을 수 있습니다. 헤더가 프록시 서버로 전달되지 않게하려면 빈 문자열
""
설정하십시오.
다음 예에서는
Host
헤더 필드의 값을
$host
로 변경하고 값을 빈 문자열로 설정하여
Accept-Encoding
헤더 필드를 제거합니다.
location / { proxy_set_header Host $host; proxy_set_header Accept-Encoding ""; proxy_pass http://localhost:3000; }
구성 파일을 수정할 때마다 변경 사항을 적용하려면 Nginx 서비스를 다시 시작해야합니다.
비 HTTP 프록시 서버에 대한 리버스 프록시로 Nginx 구성
비 HTTP 프록시 서버에 대한 리버스 프록시로 Nginx를 구성하려면 다음 지시문을 사용할 수 있습니다.
-
fastcgi_pass
-FastCGI 서버에 대한 프록시 프록시.uwsgi_pass
프록시를 uwsgi 서버로 리버스합니다.scgi_pass
-SCGI 서버에 대한 프록시 프록시.memcached_pass
프록시를 Memcached 서버로 리버스합니다.
가장 일반적인 예 중 하나는 Nginx를 PHP-FPM의 리버스 프록시로 사용하는 것입니다.
server { #… other directives location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.2-fpm.sock; } }
일반적인 Nginx 리버스 프록시 옵션
오늘날 HTTPS를 통한 컨텐츠 제공이 표준이되었습니다. 이 섹션에서는 권장 Nginx 프록시 매개 변수 및 헤더를 포함하여 HTTPS Nginx 리버스 프록시 구성의 예를 제공합니다.
location/ { proxy_pass http://127.0.0.1:3000; proxy_http_version 1.1; proxy_cache_bypass $http_upgrade; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Port $server_port; }
-
proxy_http_version 1.1
프록시 용 HTTP 프로토콜 버전을 정의하며 기본적으로 1.0으로 설정됩니다. 웹 소켓 및 연결 유지 연결의 경우 버전 1.1을 사용해야합니다.proxy_cache_bypass $http_upgrade
캐시에서 응답을받지 않는 조건을 설정합니다.Upgrade $http_upgrade
및Connection "upgrade"
– 응용 프로그램이 웹 소켓을 사용하는 경우이 헤더 필드가 필요합니다.Host $host
다음 우선 순위의$host
변수에는 요청 라인의Host
이름 또는Host
요청 헤더 필드의Host
이름 또는 요청과 일치하는 서버 이름이 포함됩니다.X-Real-IP $remote_addr
실제 방문자 원격 IP 주소를 프록시 서버로 전달합니다.X-Forwarded-For $proxy_add_x_forwarded_for
클라이언트가 프록시 된 모든 서버의 IP 주소를 포함하는 목록.X-Forwarded-Proto $scheme
-HTTPS 서버 블록 내에서 사용될 때 프록시 서버의 각 HTTP 응답은 HTTPS로 다시 작성됩니다.X-Forwarded-Host $host
클라이언트가 요청한 원래 호스트를 정의합니다.X-Forwarded-Port $server_port
클라이언트가 요청한 원래 포트를 정의합니다.
결론
Nginx를 리버스 프록시로 사용하는 방법을 배웠습니다. 또한 추가 매개 변수를 서버에 전달하고 프록시 요청에서 다른 헤더 필드를 수정하고 설정하는 방법도 보여주었습니다.
니 진스Tweet 토네이도 소프트웨어를 사용하면 스패머 및 악성 프로그램 배포자가 마이크로 블로그 서비스를 사용하여 메시지를 전할 수 있습니다. 아직 돈을 벌고는 있지만 스팸 발송자가 마이크로 블로깅 서비스를 통해 이익을 얻는 것을 막지는 못했습니다. 사실, Tweet Tornado라는 새로운 소프트웨어 도구는 진정한 게임 체인저가 될 수있는 불행한 잠재력을 가지고 있습니다. 지난 주에 출시 된 TT는 스패머 및 맬웨어 배포자가 Twit 기반 공격을 최대한 활용할 수 있도록 설계되었습니다. 현재 $ 150의 비용을 지불하고있는이 프로그램은 무제한 트위터 계정을 만들고 무제한 추종자를 추가하며 프록시 서버를 통해 동일한 업데이트를 여러 계정에 보냅니다. 분명히,이 소프트웨어는 단 한 가지 목적과 단 한 가지 목적으로 만 설계되었습니다 : 의심스러운 트위터 사용자에게 원치 않는 메시지를 전달하십시오.

트위터의 아킬레스 건
Windows 용 Acrylic DNS 프록시 소프트웨어 - 다운로드 및 검토

인터넷 연결 속도 향상. 인터넷 속도를 높이려면 DNS 확인이 중요합니다. 아크릴 DNS 프록시는 인터넷 속도를 높이기 위해 로컬 캐시를 사용합니다. 또한 DNS 모니터링 도구를 검토합니다.
리버스 프록시로 nginx를 사용하여 odoo 구성

Odoo에는 웹 서버가 내장되어 있지만 대부분의 경우 클라이언트와 Odoo 서버 사이의 중개자 역할을하는 리버스 프록시를 사용하는 것이 좋습니다. 이 안내서는 Nginx를 Odoo의 리버스 프록시로 사용하는 방법에 대한 지침을 제공합니다.