정방 향 대리 와 역방향 대리 가 무엇 인지, nginx 를 어떻게 사용 하여 정방 향 대리 와 역방향 대 리 를 구축 하 는 지 에 대해 말씀 드 리 겠 습 니 다.

4176 단어 linux
1. 정방 향 대리 의 개념
정방 향 프 록 시 는 클 라 이언 트 와 원본 서버 (origin server) 사이 에 있 는 서버 입 니 다. 원본 서버 에서 내용 을 얻 기 위해 클 라 이언 트 는 프 록 시 에 요청 을 보 내 고 대상 (원본 서버) 을 지정 한 다음 프 록 시 에 요청 을 전달 하고 얻 은 내용 을 클 라 이언 트 에 게 되 돌려 줍 니 다.클 라 이언 트 는 특별한 설정 을 해 야 정방 향 대 리 를 사용 할 수 있 습 니 다.
2. 역 대리 의 개념
반대로 프 록 시 는 클 라 이언 트 에 게 원본 서버 와 같 고 클 라 이언 트 는 특별한 설정 을 할 필요 가 없습니다.클 라 이언 트 는 프 록 시 이름 공간 (name - space) 의 내용 에 일반 요청 을 보 냅 니 다. 이 어 프 록 시 를 반대 방향 으로 요청 을 전달 하고 얻 은 내용 을 클 라 이언 트 에 게 되 돌려 줍 니 다. 이 내용 들 은 원래 자신의 것 과 같 습 니 다.
간단 한 차이 점: 정방 향 프 록 시 는 브 라 우 저 에서 설정 할 수 있 는 프 록 시 서버 이 고 주동 권 은 브 라 우 저 에 게 있 습 니 다.예 를 들 어 우 리 는 가끔 자 료 를 찾 아 보고 국내 벽 에 떨 어 졌 다. 이때 나 는 외국 서버 에 nginx 정방 향 프 록 시 서버 를 구축 할 수 있다. 그리고 우 리 는 브 라 우 저 를 통 해 프 록 시 서버 를 설정 할 수 있다.역방향 프 록 시 는 브 라 우 저 가 모 르 고 서버 에서 스스로 가설 한 것 입 니 다.
더욱 세밀 한 분석: http://z00w00.blog.51cto.com/515114/1031287
다음은 nginx 을 예 로 들 어 구축 1. nginx 정방 향 프 록 시 설정
1.  server{
2.  resolver 8.8.8.8;
3.  resolver_timeout 30s;
4.  listen 82;
5.  location / {
6.  proxy_pass http://$http_host$request_uri;
7.  proxy_set_header Host $http_host;
8.  proxy_buffers 256 4k;
9.  proxy_max_temp_file_size 0;
10.  proxy_connect_timeout 30;
11.  proxy_cache_valid 200 302 10m;
12.  proxy_cache_valid 301 1h;
13.  proxy_cache_valid any 1m;
14.  }
15.  }

1. 있 으 면 안 돼 요 hostname
2 、 있어 야 합 니 다 resolver, 즉 dns, 즉 위의 8.8.8.8, 시간 초과 (30 초) 를 선택 할 수 있 습 니 다. 
3. 정방 향 프 록 시 매개 변 수 를 설정 하 는 것 은 모두 Nginx 변수 구성.
proxy_pass $scheme://$host$request_uri;  

proxy_set_header Host $http_host;

4. 캐 시 크기 를 설정 하고 디스크 캐 시 읽 기와 쓰 기 를 닫 으 며 I / O 를 줄 이 고 프 록 시 연결 시간 이 초과 되 었 습 니 다.
proxy_buffers 256 4k;  

proxy_max_temp_file_size 0;  

proxy_connect_timeout 30;  

5. 프 록 시 Http 상태 캐 시 시간 설정.
proxy_cache_valid 200 302 10m;  

proxy_cache_valid 301 1h;  

proxy_cache_valid any 1m; 

설정 이 완료 되면 nginx 를 다시 시작 합 니 다. 브 라 우 저 를 예 로 들 면 이 프 록 시 서버 를 사용 하려 면 브 라 우 저 프 록 시 를 http:// + ip + : (82 는 방금 설 치 된 포트 번호) 로 설정 하면 사용 할 수 있 습 니 다.
2. nginx 역방향 프 록 시 설정
역방향 에이전트 참조 주소:
http://liuyu.blog.51cto.com/183345/166381/
http://www.blogjava.net/xiaomage234/archive/2011/09/08/358247.html  (좀 더 또렷 하 게)
http://blog.csdn.net/chanya/article/details/7745459
여기 서 저 는 더욱 간결 한 소결 에서 전체 판 을 봐 야 합 니 다. 위의 링크 를 클릭 하 는 것 을 권장 합 니 다.
다음은 부하 균형 을 예 로 들 어 역방향 대리 다.
1.  http {
2.  #           ,           
3.  #      ,  3    
4.  upstream http_server_pool {
5.  server 192.168.1.2:8080 weight=2 max_fails=2 fail_timeout=30s;
6.  server 192.168.1.3:8080 weight=3 max_fails=2 fail_timeout=30s;
7.  server 192.168.1.4:8080 weight=4 max_fails=2 fail_timeout=30s;
8.  }
9.  #       ,      http_server_pool     
10.  server {
11.  listen 80;
12.  #        
13.  server_name www.test.com;
14.  location / {
15.  #        500 503 404  ,       upstream        
16.  proxy_next_upstream error timeout invalid_header http_500 http_503 http_404;
17.  proxy_pass http://http_server_pool;
18.  proxy_set_header Host www.test.com;
19.  proxy_set_header X-Real-IP $remote_addr;
20.  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
21.  }
22.  access_log logs/www.test.com.access.log combined;
23.  }
24.  }
          (             , http        IIS    ,          。)  `vim nginx.conf`

1.  server {
2.   listen 80;
3.   server_name test.zhoumengkang.com;
4.   location / {
5.   proxy_pass http://121.199.**.*:80;
6.   }
7.  }

전송: https://mengkang.net/78.html

좋은 웹페이지 즐겨찾기