什么是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 重新加载