关于使用nginx后,在获取ip上的问题
项目部署使用nginx配置转发后,会导致获取服务器本身ip和,客户端ip都会有异常
需要配置下面三个proxy_set_header:
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8077;
# root html;
# index index.html index.htm;
}
根据没设置proxy_set_header
的情况来说说:
- 不设置 proxy_set_header Host $host; 会导致项目获取服务器本身ip为 127.0.0.1:8080(加项目端口)
- 不设置
proxy_set_header X-Real-IP $remote_addr;
,proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
会导致获取客户端的ip时为127.0.0.1
为什么要获取服务器端ip: 要获取项目外部资源文件
为什么要获取客户端ip:看看是谁登录了~
nginx配置详解:
location /mineproxypass/ {
proxy_pass http://localhost:10086/nookblog/;
#保留代理之前的host 默认值为 $proxy_host
#proxy_set_header Host $host;
#保留代理之前的真实客户端ip
proxy_set_header X-Real-IP $remote_addr;
#在多级代理的情况下,记录每次代理之前的客户端真实ip
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#指定修改被代理服务器返回的响应头中的location头域跟refresh头域数值
#proxy_redirect default ;
#default等效于下述配置,但是当设置proxy_set_header Host $host后,该配置失效
proxy_redirect http://localhost:10086/nookblog/ /mineproxypass/;
#cookie转发相关
proxy_cookie_path /nookblog /mineproxypass;
}
参考:地址
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律