nginx之正向代理


1、概述

nginx的正向代理,只能代理http、tcp等,不能代理https請求。有很多人不是很理解具體什么是nginx的正向代理、什么是反向代理。下面結合自己的使用做的一個簡介:

1)正向代理:

     所謂正向代理就是內網服務器主動要去請求外網的地址或服務,所進行的一種行為。內網服務---訪問--->外網

2)反向代理:

    所謂反向代理就是外網要訪問內網服務而進行的一種行為。 外網----請求--->內網服務

(是不是太簡潔了#@#)

 

2、兩種代理配置方式:

 

1)正向代理:

    server端:

應用在nginx的server段,不要server_name,需要添加一個resolver。

server {
    # 配置DNS解析IP地址,比如 Google Public DNS,以及超時時間(5秒)
    resolver 8.8.8.8;    # 必需
    resolver_timeout 5s;

    # 監聽端口
    listen 8080;

    access_log  /home/reistlin/logs/proxy.access.log;
    error_log   /home/reistlin/logs/proxy.error.log;

    location / {
        # 配置正向代理參數
        proxy_pass $scheme://$host$request_uri;
        # 解決如果URL中帶"."后Nginx 503錯誤
        proxy_set_header Host $http_host;

        # 配置緩存大小
        proxy_buffers 256 4k;
        # 關閉磁盤緩存讀寫減少I/O
        proxy_max_temp_file_size 0;
         # 代理連接超時時間
        proxy_connect_timeout 30;

        # 配置代理服務器HTTP狀態緩存時間
        proxy_cache_valid 200 302 10m;
        proxy_cache_valid 301 1h;
        proxy_cache_valid any 1m;
    }
}

client端:

一次代理,直接在shell執行:

#export http_proxy=http://192.168.1.9:8080

永久使用:

#vim .bashrc

export http_proxy=http://192.168.1.9:8080

#source  .bashrc

 

2)反向代理:

主要使用proxy_pass、upstream實現,upstream配置比較簡單,但是如果做負載均衡和優化,還是需要下一番功夫的。這里不做想洗的介紹,參考我寫的另外一篇高並發下的優化。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM