1. 程式人生 > >nginx配置正向代理

nginx配置正向代理

一、安裝Nginx

伺服器選用ubuntu,不做其他配置優化,僅作簡單安裝

#install Nginx
sudo apt-get install nginx

#檢查服務配置檔案
sudo nginx -t
#nginx: configuration file /etc/nginx/nginx.conf test is successful  表示配置檔案符合標準配置,解析成功

#sudo service nginx {start|stop|status|restart|reload|configtest|}
#啟動服務
sudo service nginx start

#停止服務
sudo service nginx stop

二、配置正向代理

1、新增伺服器正向代理配置

/etc/nginx/nginx.conf

user www-data;
worker_processes 4;
pid /run/nginx.pid;

events {
        worker_connections 768;
        # multi_accept on;
}


http {

        ##
        # Basic Settings
        ##
        sendfile on;
        tcp_nopush on
; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; # server_tokens off; # server_names_hash_bucket_size 64; # server_name_in_redirect off; include /etc/nginx/mime.types; default_type application/octet-stream; ## # Logging Settings
## access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; ## # Gzip Settings ## gzip on; gzip_disable "msie6"; # gzip_vary on; # gzip_proxied any; # gzip_comp_level 6; # gzip_buffers 16 8k; # gzip_http_version 1.1; # gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript; ## # nginx-naxsi config ## # Uncomment it if you installed nginx-naxsi ## #include /etc/nginx/naxsi_core.rules; ## # nginx-passenger config ## # Uncomment it if you installed nginx-passenger ## #passenger_root /usr; #passenger_ruby /usr/bin/ruby; ## # Virtual Host Configs ## ##include proxy/*.conf; include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; access_log /data/httplogs/proxy-$host-aceess.log; } #mail { # # See sample authentication script at: # # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript # # # auth_http localhost/auth.php; # # pop3_capabilities "TOP" "USER"; # # imap_capabilities "IMAP4rev1" "UIDPLUS"; # # server { # listen localhost:110; # protocol pop3; # proxy on; # } # # server { # listen localhost:143; # protocol imap; # proxy on; # } #}

只需要將server配置新增進http{…}內重啟服務即可

#比較基本的配置方式
server {
        ##代理日誌配置 off 表示關閉日誌輸出
        ##access_log /home/bingchenglin/logs/nginx/access.log;
        ##檔案路徑可用於監控代理的接入情況
        access_log off;
        ##配置服務埠
        listen 8090;                    
        location / {
                ##DNS地址 多個DNS地址用空格隔開
                resolver 192.168.241.2;
                ##環境變數通配一般不改
                proxy_pass $scheme://$http_host$request_uri;
                proxy_buffers   256 4k;                         
                proxy_max_temp_file_size 0k;                        
        } 
}

而實際不建議直接修改nginx.conf,去不去改動預設配置,由於預設配置存在以下通配型引入配置檔案項

include /etc/nginx/conf.d/*.conf;

需要新增的server配置存放的/etc/nginx/conf.d/ 下的.conf目錄下,可以自己新建一個目錄然後在nginx.conf的http{…}中引入

#存放我配置資訊
include proxy/*.conf

2、新增代理配置

#進入存放代理配置的目錄(/etc/nginx/conf.d也可)
cd /etc/nginx/proxy
sudo vi myproxy.conf

#新增配置
server {
        access_log /home/bingchenglin/logs/nginx/access.log;            
        listen 8090;                    
        location / {
                resolver 192.168.241.2;
                proxy_pass $scheme://$http_host$request_uri;                            
                proxy_buffers   256 4k;                         
                proxy_max_temp_file_size 0k;                        
        } 
}

3、檢查nginx.conf配置,重啟服務

##如果是fail根據emerg修改配置資訊
sudo nginx -t

##成功後重啟
sudo service nginx start

三、測試代理是否配置成功

開啟瀏覽器訪問該IP能看的nginx

Welcome to nginx!

If you see this page, the nginx web server is successfully installed and working. Further configuration is required.

For online documentation and support please refer to nginx.org.
Commercial support is available at nginx.com.

Thank you for using nginx.

給瀏覽器新增代理伺服器

IE新增方法:Interne選項->連線->區域網設定->代理伺服器->新增代理伺服器的IP和監聽埠資訊->確定
瀏覽網頁

服務端監控

tail -f /home/bingchenglin/logs/nginx/access.log