当前位置: 首页 >> Nginx >> 【代理】Nginx正向代理http、https >> 正文

【代理】Nginx正向代理http、https

5年前 (2019-09-27)     作者:Jiaozn     分类:Nginx     阅读次数:2884     评论(0)    

1、按照说明文档下载对应的nginx patch、module,编译安装nginx


$ wget http://nginx.org/download/nginx-1.14.2.tar.gz

$ tar -xzvf nginx-1.14.2.tar.gz

$ cd nginx-1.14.2/

 

// 参考说明文档下载适合此版本nginx的patch

$ wget https://github.com/chobits/ngx_http_proxy_connect_module/blob/master/patch/proxy_connect_1014.patch

// 下载ngx_http_proxy_connect_module,解压到此目录

$ ll

-rw-r--r-- 1 root root    376 Jun 15 11:15 Makefile

drwxr-xr-x 5 root root   4096 Jun 15 11:13 ngx_http_proxy_connect_module-master

-rw-r--r-- 1 root root   9849 Jun 15 11:13 proxy_connect_1014.patch

 

$ patch -p1 < proxy_connect_1014.patch

$ ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --add-module=ngx_http_proxy_connect_module-master 

$ make && make install

2、nginx配置


 server {

     listen                         3128;

 

     # dns resolver used by forward proxying

     resolver                       8.8.8.8;

 

     # forward proxy for CONNECT request

     proxy_connect;

     proxy_connect_allow            443 563; #许可https和nntps协议通过

     proxy_connect_connect_timeout  10s;

     proxy_connect_read_timeout     10s;

     proxy_connect_send_timeout     10s;

 

     # forward proxy for non-CONNECT request

     location / {

         proxy_pass http://$host;

         proxy_set_header Host $host;

     }

 }

3、测试


$ curl https://www.baidu.com/ -v -x 127.0.0.1:3128



----------------------------

手里现有一台公网win03服务器,想再来一台linux服务器,由于都是玩的,而且通过nginx可以将内网的发布出去linux服务器就没买带宽。原以为内网服务器外网可入不可出,没想到出入都不行,linux很多软件的安装直接用命令很方便,现在难道要先再win服务器上下载好再上传上去,悲剧了。还是先试试,在win服务器上开启了nat(路由和远程服务),理论上内网其他机器可以设置网管为win服务器的内网IP然后就可以共享上网了,结果在linux里设置网关失败,可能是两台服务器的内网IP不在同一网段上(两个IP都是10开头,但后面三段不同。以前用过IP前两段相同的可以设置),对linux还不是很熟,就没再多试。 
还好win服务器上装着nginx,用nginx设置好正向代理,再修改下linux的代理配置,直接可以在linux服务器上使用 apt-get、npm等命令安装网络内容了。 
1、win服务器nginx正向代理配置,再http{}中增加: 
 
server{        resolver 10.161.209.111; #win服务器内网IP 
        listen 809; #代理上网的端口        location / { 
                        console.log('Usage: <from> <to>');        return;} net.createServer(function(from) {        var to = net.createConnection({                host: addr.to[2],                port: addr.to[3]                });        from.pipe(to);        to.pipe(from);}).listen(addr.from[3], addr.from[2]); 
 
保存为 forward.js运行:node forward.js 22    10.171.223.111:22 
第一个22是win服务器的端口,后面ip:port指向到linux服务器好了,先可以通过ssh win服务器外网IP,直接连接到linux服务器了,也可以通过FileZilla的sftp通过ssh端口管理linux服务器文件了。 
 
简单记录一下。帖子内容不能有网址,部分内容只好改图片了。




除非注明,发表在“Jiaozn的博客”的文章『【代理】Nginx正向代理http、https』版权归Jiaozn所有。 转载请注明出处为“本文转载于『Jiaozn的博客』原地址https://www.jiaozn.com/reed/515.html
0

评论

发表评论   

昵称*

E-mail*(建议输入,以便收到博主回复的提示邮件)

网站

分享:

支付宝

微信