什么是nginx正向代理?正向代理,意思是一個位於客戶端和原始服務器(origin server)之間的服務器,為了從 原始服務器取得內容,客戶端向代理發送一個請求並指定目標(原始服務器),然后代理向原 始服務器轉交請求並將獲得的內容返回給客戶端。客戶端才能使用正向代理。
3台電腦
192.168.1.186 client 不可以上網
192.168.1.150 proxy 中間代理
192.168.1.165 server 可以上網
主要配置都在proxy電腦上操作
開始准備:
編譯工具
yum install gcc gcc-c++ make -y
yum install rpm-build rpmdevtools -y
安裝依賴
yum install pcre-devel pcre -y
yum install zlib-devel zlib -y
yum install openssl-devel openssl -y
yum install redhat-lsb-core -y
yum install git
yum -y install wget
下載 nginx正向代理模塊
cd /home
git clone https://github.com/chobits/ngx_http_proxy_connect_module.git
下載nginx
wget http://nginx.org/download/nginx-1.9.2.tar.gz
tar -xzvf nginx-1.9.2.tar.gz
進入解壓目錄
cd nginx-1.9.2/
假設nginx下載到home目錄
patch -p1 < /home/ngx_http_proxy_connect_module/patch/proxy_connect.patch
./configure --add-module=/home/ngx_http_proxy_connect_module
編譯安裝
make && make install
啟動nginx
cd /usr/local/nginx/sbin/
./nginx
Nginx常用的幾個命令
/usr/local/nginx/sbin/nginx 啟動Nginx
/usr/local/nginx/sbin/nginx -s reload 重新載入配置文件
/usr/local/nginx/sbin/nginx -s reopen 重啟 Nginx
/usr/local/nginx/sbin/nginx -s stop 快速關閉 Nginx
/usr/local/nginx/sbin/nginx -s quit 關閉Nginx
Nginx.conf配置
#http協議 8088端口 -只是監聽端口
server {
listen 8088;
resolver 114.114.114.114;
#server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
proxy_pass $scheme://$http_host$request_uri;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
#https協議(SSL) 443端口 -只是監聽端口
server {
resolver 114.114.114.114; #DNS
listen 443;
#server_name localhost; #要做正向代理, 不需要server_name
proxy_connect;
proxy_connect_allow 443 563;
proxy_connect_connect_timeout 10s;
proxy_connect_read_timeout 10s;
proxy_connect_send_timeout 10s;
#access_log /var/log/nginx/http_proxy.access.log main;
#error_log /var/log/nginx/http_proxy.error.log;
location / {
proxy_pass $scheme://$http_host$request_uri;
}
}
Client配置

Clietnt下,cmd
curl --proxy 192.168.1.158:8088 http://www.baidu.com

IE瀏覽器
瀏覽器打開www.baidu.com

客戶端就能上網啦!
以上就是配置的地方。
注意點:端口是否打開,端口是否監聽
ps -ef | grep nginx 看看nginx服務是否打開
netstat -anp | grep pid 看看服務是否正確監聽了端口
firewall-cmd --query-port=8088/tcp 看看端口是否打開
firewall-cmd --permanent --add-port=8088/tcp 打開端口
firewall-cmd --reload 重新加載
