nginx正向代理配置方式

nginx正向代理配置方式一 简述 nginx 不仅可以做反向代理 还能用作正向代理来进行上网等功能 正向代理 如果把局域网外的 Internet 想象成一个巨大的资源库 则局域网中的客户端要访问 Internet 则需要通过代理服务器来访问 这种代理服务就称为正向代理 也就是大家常说的 通过正向代理进行上网功能 二 nginx 正向代理的功能 1 由于 nginx 正向代理的功能指令较少 只需要进行简单的配置即可 server

server { resolver 114.114.114.114; #指定DNS服务器IP地址 listen 8080; location / { proxy_pass http://$http_host$request_uri; #设定代理服务器的协议和地址 } } 

以上的配置只能访问80 端口的网站,而不能访问https443端口的网站,现在的网站基本上都是https的要解决技能访问http80端口也能访问https443端口的网站,需要置两个SERVER节点,一个处理HTTP转发,另一个处理HTTPS转发,而客户端都通过HTTP来访问代理,通过访问代理不同的端口,来区分HTTP和HTTPS请求。

server { resolver 114.114.114.114; #指定DNS服务器IP地址 listen 80; location / { proxy_pass http://$http_host$request_uri; #设定代理服务器的协议和地址 proxy_set_header HOST $http_host; proxy_buffers 256 4k; proxy_max_temp_file_size 0k; proxy_connect_timeout 30; proxy_send_timeout 60; proxy_read_timeout 60; proxy_next_upstream error timeout invalid_header http_502; } } server { resolver 114.114.114.114; #指定DNS服务器IP地址 listen 443; location / { proxy_pass https://$host$request_uri; #设定代理服务器的协议和地址 proxy_buffers 256 4k; proxy_max_temp_file_size 0k; proxy_connect_timeout 30; proxy_send_timeout 60; proxy_read_timeout 60; proxy_next_upstream error timeout invalid_header http_502; } } 

这种方式修改了客户端环境变量http_proxy,会将所有客户端所有http请求都代理到proxy服务器。如果系统中涉及到存量的内网http请求,这样做的风险比较大


server{
        listen 8081;
        
        access_log /usr/local/nginx/8081.log;
        error_log /usr/local/nginx/8081.log;
        rewrite_log on;

        location / {
           #proxy_pass http://198.98.20.63;
           resolver 114.114.114.114;
           #proxy_pass http://${arg_HOSTNAME}/${document_uri};
           proxy_pass  http${arg_HOSTNAME}/${document_uri};
           #proxy_pass http${arg_PTTP}://${arg_HOSTNAME}/${document_uri};
           #set $HTNM $1;
           #set $PTTP $2;
           #proxy_pass http${PTTP}://${HTNM}/${document_uri};
           #proxy_pass http://$HOSTNAME/$document_uri;
        }

        error_page 500 502 503 504 /50x.html;

        location = /50x.html{
           root html;
        }
    }

附:curl常用命令

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/178838.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午4:25
下一篇 2026年3月26日 下午4:25


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号