Nginx正向代理http请求

本文介绍如何使用Nginx进行简单的正向代理配置,并通过加入Lua模块解决非80端口访问的问题,适用于需要跨端口转发请求的场景。

1.简单的正向代理

#正向代理http
 server {
   #     access_log /home/bingchenglin/logs/nginx/access.log;   日志一般最上面配置全局         
        listen 8082;
        location / { 

               resolver 8.8.8.8;#DNS解析 可以用这个
                proxy_pass $scheme://$http_host$request_uri;
                proxy_buffers   256 4k;
                 proxy_max_temp_file_size 0k;
       }
}
该访问会默认访问80端口 有些网址不是80端口或者图片不能加载

2.通过加入Lua模块对非80端口进行访问

这里有个地址:https://www.cnblogs.com/aoeiuv/p/6856056.html

找到的一个配置文件 

if ($http_host ~ "(:(\d){4})$"){

   set_by_lua $port "    

   local host = ngx.req.get_essay-headers()[\"host\"];    

   local port = string.sub(host,-4);    

   return port ";    

set $passport $port ;  

 proxy_pass http://$host:$passport$request_uri;

}

if ($http_host ~ "(:(\d){3})$"){  

 set_by_lua $port "    

   local host = ngx.req.get_essay-headers()[\"host\"];      

 local port = string.sub(host,-3);    

   return port ";  

 set $passport $port ;  

 proxy_pass http://$host:$passport$request_uri; }

if ($http_host ~ "(:(\d){2})$"){  

 set_by_lua $port "    

   local host = ngx.req.get_essay-headers()[\"host\"];  

     local port = string.sub(host,-2);    

   return port ";  

 set $passport $port ;  

 proxy_pass http://$host:$passport$request_uri;

} if ($http_host !~ :){      

 proxy_pass http://$host$request_uri;

}

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值