nginx 역방향 프 록 시 설정 두 개의 다른 서버

8718 단어 Nginx
1. 역방향 대리 란 무엇 인가:
역방향 프 록 시 서버 는 서버 쪽 에 설치 되 어 있 으 며, 자주 요청 되 는 페이지 를 버퍼 링 하여 서버 의 작업량 을 완화 시 키 고, 클 라 이언 트 요청 을 내부 네트워크 의 대상 서버 에 전송 합 니 다.또한 서버 에서 얻 은 결 과 를 인터넷 에서 연결 을 요청 한 클 라 이언 트 에 게 되 돌려 줍 니 다. 이때 프 록 시 서버 는 대상 호스트 와 함께 외부 적 으로 서버 로 표 현 됩 니 다.
2. 역방향 에이전트 의 주요 역할:
현재 웹 사 이 트 는 역방향 프 록 시 를 사용 하여 외부 네트워크 가 내부 네트워크 서버 에 대한 악성 공격, 캐 시 를 방지 하여 서버 의 압력 과 방문 안전 통 제 를 줄 이 는 동시에 부하 균형 을 이 루어 사용자 의 요 구 를 여러 서버 에 배분 할 수 있다.
3. Nginx 역방향 에이전트 설정:
Nginx 는 최근 몇 년 동안 비교적 핫 한 역방향 프 록 시 서버 로 서 목적 호스트 에 설치 되 어 있 으 며 주로 클 라 이언 트 의 요청 을 전달 하 는 데 사 용 됩 니 다. 배경 에는 여러 개의 http 서버 가 서 비 스 를 제공 합 니 다. nginx 의 기능 은 바로 요청 을 뒤의 서버 에 전달 하고 어떤 대상 호스트 가 이전 요청 을 처리 할 지 결정 하 는 것 입 니 다.
3.1 목표 설정:
내부 네트워크 는 두 개의 웹 서버 를 구축 했다. 각각 10.0.5.87 과 10.0.5.123 이다. 지금 은 Nginx 로 역방향 프 록 시 서버 를 구축 해 야 한다. - 프 록 시 서버 를 통 해 이 두 개의 웹 서버 를 방문 할 수 있다.요청 패키지 의 header 필드 를 수정 할 수 있 습 니 다. -cache 기능 사용 하기;
3.2 실시 방법:
  • nginx 프로필 수정:
  • #  cache  
    proxy_cache_path /nginx/cache/first levels=1:2 keys_zone=first:20m max_size=1g;
    
    
    server {
            #  www.local_host.ik 80  
            listen       80;
            server_name  www.local_host.ik;
    
            # aspx           
        location / {
                    # root   /root;#               
                    index index.php index.html index.htm;#           
    
                    proxy_pass  http://10.0.5.87:8080/;#          
    
                    #               .
                    proxy_redirect off;
    
                    #   Web       X-Forwarded-For      IP
                    proxy_set_header Host $host;
                    proxy_set_header X-Real-IP $remote_addr;
                    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                    client_max_body_size 10m;       #                
                    client_body_buffer_size 128k;   #                  ,
                    proxy_connect_timeout 90;       #nginx            (      )
                    proxy_send_timeout 90;          #           (      )
                    proxy_read_timeout 90;          #     ,         (      )
                    proxy_buffer_size 4k;           #       (nginx)             
                    proxy_buffers 4 32k;            #proxy_buffers   ,     32k    ,    
                    proxy_busy_buffers_size 64k;    #        (proxy_buffers*2)
                    proxy_temp_file_write_size 64k; #         ,     ,  upstream    
    
                    #  cache     
                    proxy_cache first;
                    proxy_cache_valid 200 10m;
        }
    
        add_header X-Via $server_addr;
        add_header X_cache_hit $upstream_cache_status;
    
    }
    #        
    server {
            #  www.fengyanjiao.ik 80  
            listen       80;
            server_name  www.fengyanjiao.ik;
    
            # aspx           
        location / {
                    # root   /root;#               
                    index index.php index.html index.htm;#           
    
                    proxy_pass  http://10.0.5.123:5004/;#          
    
                    #               .
                    proxy_redirect off;
    
                    #   Web       X-Forwarded-For      IP
                    proxy_set_header Host $host;
                    proxy_set_header X-Real-IP $remote_addr;
                    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                    client_max_body_size 10m;       #                
                    client_body_buffer_size 128k;   #                  ,
                    proxy_connect_timeout 90;       #nginx            (      )
                    proxy_send_timeout 90;          #           (      )
                    proxy_read_timeout 90;          #     ,         (      )
                    proxy_buffer_size 4k;           #       (nginx)             
                    proxy_buffers 4 32k;            #proxy_buffers   ,     32k    ,    
                    proxy_busy_buffers_size 64k;    #        (proxy_buffers*2)
                    proxy_temp_file_write_size 64k; #         ,     ,  upstream    
    
        }
    
    }
    
  • 클 라 이언 트 호스트 파일 설정:
  • 127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
    
    192.168.183.22 www.fengyanjiao.ik
    192.168.183.22 www.local_host.ik

    3.3 테스트:
    3.3.1 클 라 이언 트 에서 요청 하기 (cache 없 음):
    curl www.fengyanjiao.ik

    응답 패 키 지 를 볼 수 있 습 니 다.실제 서버 10.0.5.123 에서 가방 을 잡 으 면 프 록 시 http 요청 메 시 지 를 볼 수 있 습 니 다.이것 은 동적 페이지 이기 때문에 cache 되 지 않 습 니 다.
    3.3.2 클 라 이언 트 에서 요청 하기 (cache 가 있 음):
    curl www.local_host.ik

    응답 패 키 지 를 볼 수 있 습 니 다.실제 서버 10.0.5.87 에서 가방 을 잡 으 면 프 록 시 http 요청 메 시 지 를 볼 수 있 습 니 다.이번 요청 후 프 록 시 / nginx / cache / first / 3 / 4c 디 렉 터 리 에서 캐 시 파일 4a 0993 df8ef 6191 d1b1e12fa56c804 c3 를 볼 수 있 습 니 다.
    다음 클 라 이언 트 요청 www. localhost. ik, 클 라 이언 트 에서 가방 을 잡 으 면 다음 을 볼 수 있 습 니 다.

    좋은 웹페이지 즐겨찾기