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
相关文章
相关标签/搜索