nginx-realip問題解決方案

nginx-realip問題解決方案

  • 一、配置真實ip解析
  • 二、日志中記錄真實 IP
  • 三、在日志中驗證


一、配置真實ip解析

讓backend server知道前端是誰來訪問的,知道他們的ip地址

LB在轉發數據包的時候,在http請求報文里增加一個字段,攜帶user的ip地址,這樣backend server就知道user的ip地址了

在負載均衡器上修改http請求報文頭部字段,添加一個X-Real-IP字段
配置在監聽80端口的server 虛擬主機上,到時訪問的時候使用http協議訪問

[root@LB conf]# vim nginx.confserver {listen       80;location / {# 轉發給負載均衡器proxy_pass  http://myweb1;proxy_set_header  X-Real-IP  $remote_addr;}[root@LB conf]# nginx  -t
nginx: the configuration file /usr/local/nginx1/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx1/conf/nginx.conf test is successful
[root@LB conf]# nginx  -s reload

將nginx內部的remote_addr這個變量的值,賦值給X-Real-IP這個變量,X-Real-IP這個變量會在http協議的請求報文里添加一個X-Real-IP的字段,后端的real server 服務器上的nginx就可以讀取這個字段的值 X-Real-IP
這個變量名可以自己定義,隨便取名,后面引用的時候,不區分大小寫


二、日志中記錄真實 IP

在后端real server上使用這個x_real_ip這個字段
web1和web2服務器上都要進行修改

[root@web-1 conf]# vim nginx.conf
http {include       mime.types;include       /usr/local/nginx1/conf/conf.d/*.conf;server_tokens off;#在日志文件的格式里,增加變量$http_x_real_ip  表示我們引用這個變量的值寫到日志文件里log_format  main  '$http_x_real_ip  - $remote_addr -  $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';#啟用下main格式的訪問日志access_log  logs/access.log  main;server {listen 80;server_name www.huang.com;access_log  logs/huang.com.access.log  main;
.......省略[root@web-1 conf]# nginx  -t
nginx: the configuration file /usr/local/nginx1/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx1/conf/nginx.conf test is successful
[root@web-1 conf]# nginx  -s reload

三、在日志中驗證

測試 -> 訪問LB

效果就是在日志文件里能看到前端用戶的ip地址,具體看哪個日志文件,需要在web服務器上確認訪問的是哪個虛擬主機,然后確認是哪個access.log文件,就能看到real ip的地址

[root@web2 logs]# tail -f huang.com.access.log
在這里插入圖片描述

配置在監聽443端口的server 虛擬主機里,訪問的時候使用https協議

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/95361.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/95361.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/95361.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Kafka入門指南:從安裝到集群部署

一、Kafka 基礎與系統要求 1.1 核心概念 Broker:Kafka 服務器節點,負責存儲消息和處理客戶端請求 Topic:消息分類的邏輯容器,每條消息需指定發送到某個 Topic Partition:Topic 的物理分片,可分布式存儲…

20250828在榮品RD-RK3588-MID開發板的Android13系統下適配Bainianxing的GPS模塊BU-16M10

20250828在榮品RD-RK3588-MID開發板的Android13系統下適配Bainianxing的GPS模塊BU-16M10 2025/8/29 9:50榮品RD-RK3588-MID開發板。適配GPS 38400bps 需要配置波特率嗎?一般是 9600這邊使用的泰斗 你要適配新的gps模塊?規格書:Baud rate 3840…

對部分國家(地區)出口商品類章金額數據庫

一、數據庫簡介【艾思產研數據平臺】對部分國家(地區)出口商品類章金額數據庫,收錄了2015年02月 - 2025年5月的信息,共計49萬余條數據,整理出7個常用字段內容。更新頻率為月更。字段內容年月、類章、國家、國家id、所屬分類、月出口商品類章金…

STM32——中斷

總:STM32——學習總綱 一、什么是中斷 1.1 作用與意義 1.2 STM32 GPIO 外部中斷簡圖 二、NVIC 2.1 NVIC 基本概念 Nested vectored interrupt controller,嵌套向量中斷控制器,屬于內核(M3、M4、M7) 用不到很多的優先…

DVWA靶場通關筆記-Weak Session IDs (Impossible級別)

目錄 一、Session ID 二、源碼分析 1、index.php 2、impossible.php 三、Weak Session IDs安全級別對比 四、impossible防范方法分析 1、高隨機性會話 ID 生成 2、嚴格的 Cookie 作用域限制 3、安全的傳輸與存儲控制期 本系列為通過《DVWA靶場通關筆記》的Weak Sessio…

SyncBack 備份同步軟件: 使用 FTPS、SFTP 和 HTTPS 安全加密傳輸文件

傳輸加密是使用安全連接在網絡中傳輸數據(例如文件)的過程。TLS(傳輸層安全)、SSL(安全套接字層)、SSH(安全套接字外殼)、HTTPS(基于 SSL/TLS 的超文本傳輸協議&#xff…

保健品跨境電商:如何筑牢產品質量與安全防線?

保健品跨境電商:如何筑牢產品質量與安全防線?在保健品跨境電商領域,“質量與安全”是消費者信任的基石,也是品牌長期發展的生命線。從海外工廠生產到國內消費者手中,產品需經歷“跨國運輸、清關核驗、倉儲配送”多環節…

手把手教你搭建 UDP 多人聊天室(附完整源碼)

一、項目介紹 本文將分享一個基于 UDP 協議的簡易多人聊天室項目,包含服務器端和客戶端的完整實現。該聊天室支持多客戶端同時連接,能實現消息群發、用戶加入 / 退出通知等核心功能,適合作為網絡編程入門實踐案例。項目采用 C 語言開發…

Vue基礎知識-使用監視屬性watch和計算屬性computed實現列表過濾+排序

一、完整源碼<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title><script src…

自動化運維-ansible中的管理機密

自動化運維-ansible中的管理機密 一、Ansible Vault 在自動化配置管理中&#xff0c;直接以純文本形式存儲密碼、API密鑰、證書等敏感信息是極大的安全漏洞。Ansible Vault 正是為了解決這一問題而設計的核心功能 Ansible Vault 是 Ansible 的一個核心功能&#xff0c;它允許用…

UFUNCTION C++ 的再次理解

一.UFUNCTION 格式和屬性也比較像&#xff0c;兩部分 函數說明符&#xff0c;和元數據說明符UFUNCTION不僅能 控制對藍圖公開&#xff0c;還能與 綁定委托&#xff0c;用戶輸入,網絡回調功能相關聯&#xff0c;而且還能創建自己控制帶命令二.函數說明符控制 &#xff0c;函數在…

《論文閱讀》從心到詞:通過綜合比喻語言和語義上下文信號產生同理心反應 2025 ACL findings

《論文閱讀》從心到詞:通過綜合比喻語言和語義上下文信號產生同理心反應 2025 ACL findings 前言 創新點 形象語言 (Figurative Language) 語義上下文信號(Semantic Context Signals) 模型架構 情緒原因標注 形象語言元數據獲取 共情回復生成 實驗結果 總結 趨勢 前言 親…

MySQL內置的各種單行函數

精選專欄鏈接 &#x1f517; MySQL技術筆記專欄Redis技術筆記專欄大模型搭建專欄Python學習筆記專欄深度學習算法專欄 歡迎訂閱&#xff0c;點贊&#xff0b;關注&#xff0c;每日精進1%&#xff0c;與百萬開發者共攀技術珠峰 更多內容持續更新中&#xff01;希望能給大家帶來…

Python OpenCV圖像處理與深度學習:Python OpenCV視頻處理入門

視頻處理基礎&#xff1a;掌握OpenCV視頻操作 學習目標 通過本課程&#xff0c;學員們將學習如何使用Python和OpenCV庫來處理視頻文件&#xff0c;包括讀取視頻、捕獲攝像頭視頻流、處理視頻幀以及保存處理后的視頻&#xff0c;同時&#xff0c;能夠獨立完成基本的視頻處理任務…

AI 賦能 Java 開發效率:全流程痛點解決與實踐案例(四)

文檔與注釋自動化&#xff1a;從 “手動撰寫” 到 “實時同步”&#xff0c;降低維護成本 &#x1f4c4; Java 開發強調 “文檔先行”&#xff0c;Javadoc 注釋、架構文檔、接口文檔是項目維護的重要資產。但手動撰寫文檔存在兩大痛點&#xff1a;一是耗時&#xff08;開發者平…

【機器學習學習筆記】pandas基礎

零基礎入門 Pandas&#xff1a;數據處理的 "萬能工具"如果你是剛接觸數據分析的小白&#xff0c;一定聽過 "Pandas" 這個名字。簡單說&#xff0c;Pandas 是 Python 中專門用來處理數據的工具庫&#xff0c;就像 Excel 的 "高級版"—— 能更快、…

(Mysql)MVCC、Redo Log 與 Undo Log

1. MVCC&#xff08;多版本并發控制&#xff09;概念 MVCC&#xff08;Multi-Version Concurrency Control&#xff09;是一種數據庫并發控制機制&#xff0c;用于解決 讀寫沖突&#xff0c;提高數據庫并發性能。MySQL InnoDB 存儲引擎使用 MVCC 來實現 非阻塞讀&#xff08;即…

OpenCV-Python Tutorial : A Candy from Official Main Page(五)

4.5FAST Algorithm for Corner Detection 4.5.1FAST算法 我們已了解多種特征檢測器&#xff0c;其中許多效果出色。但從實時應用的角度來看&#xff0c;它們的速度仍不夠快。一個典型例子是計算資源有限的SLAM&#xff08;同步定位與建圖&#xff09;移動機器人。 為解決此問…

LINUX 91 SHELL:刪除空文件夾 計數

問題 [rootweb ~]# find -type f -exec echo "file:{}" $path; find: 遺漏“-exec”的參數 您在 /var/spool/mail/root 中有郵件[rootweb ~]# $path/root -bash: /root: 沒有那個文件或目錄 您在 /var/spool/mail/root 中有新郵件 [rootweb ~]# path/root [rootweb ~…

視頻軟解碼技術詳解:原理、應用與未來發展

視頻軟解碼的基本原理 概念解析&#xff1a;CPU主導的通用解碼方式 視頻軟解碼是一種完全依賴通用CPU執行解碼算法的視頻還原技術&#xff0c;其核心特征在于不依賴任何專用硬件模塊&#xff0c;而是通過軟件程序調用CPU的通用計算能力完成壓縮視頻數據的解碼過程[1][2]。與硬…