Nginx를 HTTP / HTTPS 프록시 서버로 사용하는 방법은 무엇입니까? [닫은]

Nginx를 HTTP / HTTPS 프록시로 사용할 수 있습니까?



답변

일부 testings를 후, 나는 발견 한 나를 위해 일하는 다음과 같은 구성을.

server {
  server_name ~^(www\.)?(?<domain>.+)$;
  access_log /var/log/nginx/proxy.access.log main;
  error_log /var/log/nginx/proxy.error.log crit;
  listen 10.255.1.13:8080;
  resolver 8.8.8.8;
  location / {
    proxy_pass http://$domain;
    proxy_redirect off;
    proxy_set_header Host $host;
    # Optional headers
    # proxy_set_header X-Real-IP $remote_addr;
    # proxy_set_header X-Forwarded-For
    # $proxy_add_x_forwarded_for;
  }
}

이 구성은 HTTPS가 아닌 HTTP에 대해서만 작동합니다.


답변

짧은 대답은 아니오라고 생각합니다. 정방향 프록시 용으로 작성되지 않았습니다.

최신 정보

위의 진술을 명확히하기 위해 :

NGINX는 포워드 프록 싱을 염두에두고 작성되지 않았습니다. 원격으로 구성을 원하는 방식으로 구성 할 수 있지만 다음과 같은 제한 사항을 이해해야합니다.

  • 거의 존재하지 않는 캐시 지원 (프록시를 사용하는 주요 이유 중 하나)
  • 포트 80 트래픽 이외의 용도로 사용할 수 없음 (즉, cpanel 박스에 로그인하지 않음)
  • SSL 기반 트래픽을 지원하지 않습니다
  • 표준 프록시 헤더 및 http 캐시 헤더를 지원하지 않습니다.
  • 프록시 서버를 지원하는 다른 프로토콜 (예 : VPN 등)은 지원하지 않습니다.

현재 알려지지 않은 다른 고려 사항 :

  • 세분화 된 액세스 제어 / 인증을 실제로 수행 할 수있는 능력이 없어 프록시를 수행 할 수 있음
  • nginx가 설치되어있는 머신에 보안 위험이 발생할 수 있습니다.

답변

HTTP / HTTPS 프록시를 사용하려면 Squid를 사용해야합니다. 정확히 그렇게하도록 작성되었습니다. Nginx는 역방향 프록시 및로드 밸런서로 작동하도록 작성되었지만 정방향 프록시로는 작동하지 않습니다.


답변