在网关中使用Nginx配置HTTP透明代理案例

这篇文章主要介绍了在网关中使用Nginx配置HTTP透明代理案例,中间还需要iptables配合,需要的朋友可以参考下

出于某些需求在网关级架设 HTTP 透明代理,劫持用户 HTTP 请求,转发或直接进行响应。

iptables配置

iptables 用于将经过网关的 TCP 80 端口的上行流量转发至网关上的 Nginx 服务。


sudo iptables -t nat -A PREROUTING -p tcp -m tcp --dport 80 -j DNAT \
--to-destination 网关IP:端口


Nginx 演示配置

worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       8000;
        server_name  localhost;

        resolver 8.8.8.8;

        location /test {
            proxy_pass http://hev.cc/sftp/files/;
            proxy_buffers 256 4k;
            proxy_max_temp_file_size 0k;
        }

        location / {
            # 包含关键词 '计算机' 重定向至 /test
            rewrite ^.*计算机.*$ /test last;

            # 通用透明代理
            proxy_pass $scheme://$host$request_uri;
            proxy_set_header Host $http_host;
            proxy_buffers 256 4k;
            proxy_max_temp_file_size 0k;
        }
    }

    # 匹配 *.baidu.com 域名
    server {
        listen       8000;
        server_name  *.baidu.com;

        location / {
            root   html;
            index  index.html index.htm;
        }
    }
}

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

一:确定你的系统是UTF编码 [root@Tserver ~]# env|grep LANG LANG=en_US.UTF-8 二:NGINX配置文件里默认编码设置为utf-8 server { listen 80; server_name .inginx.com ; index index.html index.htm index.php; root /usr/local/nginx/html/inginx.com; ch
很多网站需要采用伪静态来访问动态网页。所以像phpcms这样的系统,都提供了一个.htaccess文件,供写伪静态规则。但这个规则是针对Apache的。在nginx服务器上并不起作用。 nginx 可以直接将伪静态规则写在配置文件中,但这个需要有服务器管理权限,普通站长不
在网站建设中需要网页重定向的情况很多:如网页目录结构变动,网页重命名、网页的扩展名改变、网站域名改变等。如果不做重定向,用户的收藏和搜索引 擎数据库中的旧地址只能让访客得到一个404错误信息页面,访问流量白白丧失。不仅如此,之前该页面的一切积
利用nginx泛域名解析配置二级域名和多域名 网站的目录结构为 html ├── bbs └── www html为nginx的安装目录下默认的存放源代码的路径。 bbs为论坛程序源代码路径 www为主页程序源代码路径 把相应程序放入上面的路径通过 http://www.youdomain.com 访问
一:安装nginx nginx在windows下进行完整配置,需要下载windows的nginx,下载完成后,将下载的nginx解压到你要安装配置的路径,假设我这里是D:\nginx-1.11.4\nginx-1.11.4\,打开nginx的文件夹,找到里面的conf目录的nginx.conf,修改以下内容: 打开错误日
一直在Linux平台上部署web服务,但是最近的一个项目,必须要用windows,不得已再次研究了nginx在windows下的表现,因为Apache httpd在Windows下表现其实也不算太好,而我更喜欢nginx。 惊奇地发现nginx在Windows下已经趋于稳定,于是我决定使用nginx作为web