Nginx 做爲Http代理服務器配置

Nginx Http Proxy 代理服務器, 功能和 Squid 同樣,適用於正向代理 Http 網站。

 
需求以下:     1.有一臺nginx在國外     2.國內的用戶訪問web 經過先在本地 proxy服務器的ip和端口,而後可就能夠經過代理來訪問國外的全部網站了。 一.Nginx 正向代理配置文件: user  nginx; worker_processes  1; error_log  logs/error.log; events {     worker_connections  1024; } http {     include       mime.types;     default_type  application/octet-stream;     log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '                       '$status $body_bytes_sent "$http_referer" '                       '"$http_user_agent" "$http_x_forwarded_for"';      access_log  logs/access.log  main; server {     resolver 8.8.8.8;     resolver_timeout 5s;     listen 8081;     location / {         proxy_pass $scheme://$host$request_uri;         proxy_set_header Host $http_host;         proxy_buffers 256 8k;         proxy_max_temp_file_size 0;         proxy_connect_timeout 30;         proxy_cache_valid 200 302 10m;         proxy_cache_valid 301 1h;         proxy_cache_valid any 1m;     } } } 二.Nginx 正向代理配置解釋: 1.配置 DNS 解析 IP 地址,好比 Google Public DNS,以及超時時間(5秒)。 resolver 8.8.8.8; resolver_timeout 5s; 2.配置正向代理參數,均是由 Nginx 變量組成。其中 proxy_set_header 部分的配置,是爲了解決若是 URL 中帶 "."(點)後 Nginx 503 錯誤。 proxy_pass $scheme://$host$request_uri; proxy_set_header Host $http_host; 3.配置緩存大小,關閉磁盤緩存讀寫減小I/O,以及代理鏈接超時時間。 proxy_buffers 256 8k; proxy_max_temp_file_size 0; proxy_connect_timeout 30; 4.配置代理服務器 Http 狀態緩存時間。 proxy_cache_valid 200 302 10m; proxy_cache_valid 301 1h; proxy_cache_valid any 1m; 三.不支持代理 Https 網站 由於 Nginx 不支持 CONNECT,因此沒法正向代理 Https 網站(網上銀行,Gmail)。 若是訪問 Https 網站,好比:https://www.google.com,Nginx access.log 日誌以下: "CONNECT www.google.com:443 HTTP/1.1" 400
相關文章
相關標籤/搜索