nginx 正向代理

前言: 为了防止自己手残点了不该点的网站, 导致恶意网站获取我的个人信息, 或者网站在暗处偷偷获取我的个人数据, 我需要去关注这些网站同时拉黑这些网站
目标: 将浏览器发起的所有请求都经过 nginx 服务器进行转发, 然后 nginx 需要记录这些网址以及请求所携带的参数信息
成果: 就在昨天, 我成功的在 linux  中部署了 nginx 正向代理服务器
搭建过程中可能遇到的问题: 1.nginx 编译安装失败: 是因为没有安装足够的依赖, 成功安装后是有启动脚本的, 在 sbin 文件夹中
存在的问题:1.日志记录并不完整, url 不全, 没有参数信息2.最开始只会转发非本地请求记录, 后来却只转发本地请求并记录, 暂时未找到原因
环境: window10、centos7、nginx-1.20.2、proxy_connect_rewrite_1018.patch
欢迎大家查漏补缺
1.centos7 最小安装完成后是无法联网的修改 /etc/sysconfig/network-scripts/ifcfg-ens33 配置: ONBOOT=yes重启网络: systemctl restart network
2.安装依赖及组件: 安装 ifconfig: yum -y install net-tools安装 git: yum -y install git安装依赖: yum -y install gcc openssl openssl-devel pcre-devel zlib zlib-devel安装 patch:yum -y install patch安装 wget: yum -y install wget
3.下载资源:cd ~ nginx: wget http://nginx.org/download/nginx-1.20.2.tar.gzproxy_connect_rewrite_1018.patch: git clone https://gitee.com/web_design_of_web_frontend/ngx_http_proxy_connect_module.git
4.执行以下命令1>创建安装目录: mkdir /data2>移动:mv /root/nginx-1.20.2.tar.gz /data/nginx-1.20.2.tar.gzmv /root/ngx_http_proxy_connect_module /data/ngx_http_proxy_connect_module3>进入 data 并解压 nginx:cd /datatar -zxvf nginx-1.20.2.tar.gz4>进入 nginx 目录: cd nginx-1.20.25>安装补丁: patch -p1 < /data/ngx_http_proxy_connect_module/patch/proxy_connect_rewrite_1018.patch6>nginx 编译安装前的配置: ./configure --add-module=/data/ngx_http_proxy_connect_module --prefix=/data/nginx-1.20.2 --with-http_ssl_module --with-http_stub_status_module7>开始编译和安装: make && make install8>一些配置:mkdir /data/nginx-1.20.2/logstouch /data/nginx-1.20.2/logs/access.logtouch /data/nginx-1.20.2/logs/error.logcp /data/nginx-1.20.2/conf/nginx.conf /data/nginx-1.20.2/conf/nginx.conf.bakecho "export NGINX_HOME=/data/nginx-1.20.2/sbin" >> ~/.bashrcecho "export PATH=\$PATH:\$NGINX_HOME" >> ~/.bashrcsource /root/.bashrcecho $PATH9>验证 nginx 是否安装成功: whereis nginx10.配置文件: vi /data/nginx-1.20.2/conf/nginx.conf# main 与 log_format 有关, 下面讲server {listen 8030;server_name localhost;resolver 114.114.114.114 ipv6=off;proxy_connect;proxy_connect_allow            all;proxy_connect_connect_timeout  10s;proxy_connect_read_timeout     10s;proxy_connect_send_timeout     10s;access_log /data/nginx-1.20.2/logs/server.log main;location / {proxy_pass https://$host$request_uri;proxy_set_header HOST $host;proxy_http_version  1.1;proxy_ssl_server_name on;access_log /data/nginx-1.20.2/logs/location.log main;}}11>配置 /etc/profile(在文件最下面添加即可), 添加完成后执行命令 source /etc/profile:# 这里的地址要写代理的服务器地址http_proxy=nginx ip:80https_proxy=nginx ip:443ftp_proxy=nginx ip:443export http_proxyexport https_proxyexport ftp_proxy12>至此, nginx 正向代理的相关配置完成
5.一些命令:启动:通过配置启动: nginx -c ./conf/nginx.conf直接启动: nginx停止: nginx -s stop重启:配置重启: nginx -c ./conf/nginx.conf -s reload直接重启: nginx -s reload
6.windows 设置代理windows 按键 -> 设置 -> 网络和 internet -> 代理 -> 使用代理服务器输入代理服务器的 ip 及代理服务器监听的端口, 其实就是 nginx 所在的 linux 的 ip 以及 nginx 配置文件中设置的端口 8030
7.防火墙端口firewall-cmd --zone=public --add-port=80/tcp --permanentfirewall-cmd --zone=public --add-port=8030/tcp --permanentfirewall-cmd --reloadfirewall-cmd --zone=public --list-ports
8.然后开始访问浏览器, 所有的请求会经过代理服务器
log_format 是 nginx 的日志记录格式. 书写方式为: log_format key value, 下面提供两种
1.第一种是 nginx 默认的日志格式:log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';
2.第二种是 json 格式, 更全一点:log_format main '{"time": "$time_iso8601", ''"remote_addr": "$remote_addr", ''"remote_user": "$remote_user", ''"request": "$request", ''"status": $status, ''"body_bytes_sent": $body_bytes_sent, ''"referer": "$http_referer", ''"user_agent": "$http_user_agent", ''"request_method": "$request_method", ''"scheme": "$scheme", ''"server_name": "$server_name", ''"request_uri": "$request_uri", ''"uri": "$uri", ''"query_string": "$query_string", ''"server_protocol": "$server_protocol", ''"request_length": $request_length, ''"request_time": $request_time, ''"upstream_addr": "$upstream_addr", ''"upstream_response_time": "$upstream_response_time", ''"upstream_status": "$upstream_status", ''"ssl_protocol": "$ssl_protocol", ''"ssl_cipher": "$ssl_cipher"}';
参考链接:https://blog.csdn.net/chen_CJH/article/details/131827744?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522171569291716800186531378%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=171569291716800186531378&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_positive~default-1-131827744-null-null.142^v100^pc_search_result_base7&utm_term=nginx%E6%AD%A3%E5%90%91%E4%BB%A3%E7%90%86%E8%AE%BF%E9%97%AE%E5%A4%96%E7%BD%91&spm=1018.2226.3001.4187

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/12647.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

32、Flink 的 DataStream API 物理分区算子详解

3.物理分区 Flink 提供以下方法让用户根据需要在数据转换完成后对数据分区进行更细粒度的配置。 a&#xff09;自定义分区 DataStream → DataStream 使用自定义的 Partitioner 为每个元素选择目标任务。 dataStream.partitionCustom(partitioner, "someKey"); …

网络安全从业者“行话”

目录 ​编辑 一、攻击篇 1&#xff0e;攻击工具 2&#xff0e;攻击方法 3&#xff0e;攻击者 二、防守篇 1&#xff0e;软硬件 2&#xff0e;技术与服务 网络安全学习资源分享: 特别声明 一、攻击篇 1&#xff0e;攻击工具 肉鸡 所谓“肉鸡”是一种很形象的比喻&…

【MATLAB】Enigma机加密原理与自实现

文章目录 什么是EnigmaEnigma机加密通信流程Enigma的物理构造Enigma的加密设置Enigma加密通信密码重新设置Enigma加密消息拼接注意 Enigma的解密分解设置Enigma解密通信密码重新设置Enigma解密消息 Enigma的弱点MATLAB自实现Enigma加密与解密Enigma_functionRotate_functiontes…

JavaScript碎碎念

文章目录 !和!!?? !和!! 逻辑非运算符!接受一个参数&#xff0c;并按如下运作&#xff1a; 将操作数转化为布尔类型&#xff1a;true/false。返回相反的值。 alert( !true ); // false alert( !0 ); // true两个非运算!! 用时候用来将某个值转化为布尔类型 alert( !!&quo…

八大设计模式:适配器模式实现栈的泛型编程 | 通用数据结构接口的秘诀(文末送书)

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 引入 哈喽各位铁汁们好啊&#xff0c;我是博主鸽芷咕《C干货基地》是由我的襄阳家乡零食基地有感而发&#xff0c;不知道各位的…

Leetcode—3146. 两个字符串的排列差【简单】

2024每日刷题&#xff08;135&#xff09; Leetcode—3146. 两个字符串的排列差 实现代码 class Solution { public:int findPermutationDifference(string s, string t) {int maps[26];int mapt[26];for(int i 0; i < s.size(); i) {int idxs s[i] - a;int idxt t[i] …

上门回收小程序:打破传统回收模式的局限性

一、引言 在环保意识日益增强的今天&#xff0c;废品回收已成为我们日常生活中不可或缺的一部分。然而&#xff0c;传统的回收模式存在着效率低下、回收范围有限等局限性。为了打破这些局限&#xff0c;我们推出了上门回收小程序&#xff0c;旨在通过数字化、智能化的方式&…

Flutter+Getx仿小米商城项目实战教程又新增了Flutter调用原生地图

FlutterGetx仿小米商城项目实战教程基于Flutter3.x录制&#xff0c;课程紧贴企业需求&#xff0c;目前已完结176讲。教程所讲内容支持Android、Ios、华为鸿蒙OS&#xff0c;教程更新于2024年4月09日新增 Flutter 调用百度地图、新增Flutter充电桩项目地图实战。支持2024年3月29…

AXI GPIO IP核配置详解

AXI GPIO&#xff08;AXI General-Purpose Input/Output&#xff09;设计提供了一个通用的输入/输出接口&#xff0c;该接口连接到一个AXI4-Lite接口。AXI GPIO可以被配置为单通道或双通道设备&#xff0c;每个通道的位宽可以独立配置。 端口&#xff08;即GPIO引脚&#xff0…

学习java第七十天

Spring 的常用注解&#xff1f; Required:该注解应用于设值方法 Autowired&#xff1a;该注解应用于有值设值方法、非设值方法、构造方法和变量。 Qualifier&#xff1a;该注解和Autowired 搭配使用&#xff0c;用于消除特定 bean 自动装配的歧义 Spring的事务传播行为有哪…

02-WPF_基础(一)

1、基础 各模块类型 链接&#xff1a;如何&#xff1a;向 Viewbox 的内容应用 Stretch 属性 - WPF .NET Framework | Microsoft Learn WPF基础以及事件绑定与数据绑定的情况&#xff0c;&#xff0c;在学习XAML&#xff0c;数据结构以及一个项目学习平台来练手&#xff0c;网络…

儿童社交恐惧:关爱与引导,帮助孩子走出阴霾

引言 儿童的社交能力是其心理健康和全面发展的重要组成部分。然而&#xff0c;有些儿童会表现出社交恐惧&#xff0c;这种情况不仅影响他们的日常生活和学习&#xff0c;还可能对其长远发展产生不利影响。本文将探讨儿童社交恐惧的注意事项&#xff0c;并提供实用的建议和方法…

jvm故障定位

​ cpu使用率低负载高&#xff0c;原因分析-----举例命令排查过程 原因&#xff1a;大量线程io阻塞。 建议从以下几个方面排查代码问题&#xff1a; 1、是否有内存泄露导致频繁GC 2、是否有死锁发生 3、是否有大字段的读写 4、会不会是数据库操作导致的&#xff0c;排查SQL语…

百面算法工程师 | YOLOv6面试考点原理全解析

本文给大家带来的百面算法工程师是深度学习目标检测YOLOv6面试总结&#xff0c;文章内总结了常见的提问问题&#xff0c;旨在为广大学子模拟出更贴合实际的面试问答场景。在这篇文章中&#xff0c;我们还将介绍一些常见的深度学习目标检测面试问题&#xff0c;并提供参考的回答…

压力给到 Google,OpenAI 发布 GPT-4o 来了

北京时间5月14日凌晨1点&#xff0c;OpenAI 开启了今年的第一次直播&#xff0c;根据官方消息&#xff0c;这次旨在演示 ChatGPT 和 GPT-4 的升级内容。在早些时候 Sam Altman 在 X 上已经明确&#xff0c;「我们一直在努力开发一些我们认为人们会喜欢的新东西&#xff0c;对我…

jar包安装成Windows服务

一、前言 很多年前写过一篇《使用java service wrapper把windows flume做成服务》的文章&#xff0c;也是把jar包安装成windows服务&#xff0c;今天介绍另外一种更简便的方案。 二、正片 这次使用的工具是 winsw&#xff0c;一个Windows服务包装器。下面看详细介绍 首先从g…

momentjs

Moment.js 是一个用于处理日期和时间的 JavaScript 库&#xff0c;它提供了许多方便的函数和方法来操作、格式化和解析日期时间。官网 常见用法 格式化日期时间&#xff1a;可以使用format方法将日期时间格式化为指定的字符串格式&#xff0c;例如YYYY-MM-DD HH:mm:ss。获取日…

中国CEO直播简史

图片&#xff5c;电影《教父》截图 ©自象限原创 作者丨罗辑 编辑丨程心 领导人爱对外发言这事&#xff0c;是中国的一个传统文化。 从乾隆爱往名画上盖章上&#xff0c;就可见一斑。 3Q大战时代&#xff0c;微博成了大佬“吵架”的战场&#xff0c;饭否变成了部分爱…

解释Java中的动态代理(Dynamic Proxy)及其用例

在Java中&#xff0c;动态代理&#xff08;Dynamic Proxy&#xff09;是一种在运行时动态创建代理类和对象的机制。它允许你在不改变原有类代码的前提下&#xff0c;通过代理类对原有类的方法增加额外的处理逻辑&#xff08;如安全检查、事务处理、日志记录等&#xff09;&…

在为法人主体添加平衡段值时选不到相应的平衡段值

1、在为H1038公司添加平衡段值时&#xff0c;值集列表中无法选到需要的平衡段值&#xff0c;进一步对其后台取值逻辑进行分析 SELECT *FROM (SELECT FLEXVALUES.FLEX_VALUE, FLEXVALUES.DESCRIPTIONFROM FND_FLEX_VALUES_VL FLEXVALUESWHERE FLEXVALUES.FLEX_VALUE_SET_ID :1…