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.pswp.cn/diannao/12647.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/12647.shtml
英文地址,請注明出處:http://en.pswp.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…