全球主机交流论坛备用站

 找回密码
 立即注册

QQ登录

只需一步,快速开始

全球云38元起免备案V2EX搬瓦工VPS
SEO查询超级PING网站测速
Virmach特价鸡乌云漏洞吾爱破解
查看: 2525|回复: 4

请教一个nginx反代配置问题

[复制链接]

1788

主题

3万

帖子

3万

积分

新手上路

Rank: 1

积分
38563
发表于 2019-3-21 23:40:25 | 显示全部楼层 |阅读模式
20230417
先贴个我的配置:
```

  • server
  • {
  • listen 8 ssl http2;
  • server_name domain.com;
  • ssl_certificate /etc/default/fullchain.cer;
  • ssl_certificate_key /etc/default/domain.com.key;


  • error_page 497 https://$host:8$request_uri;
  • location / {
  • proxy_redirect off;
  • proxy_set_header Host $http_host;
  • proxy_set_header X-Real-IP $remote_addr;
  • proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  • proxy_set_header X-Scheme $scheme;
  • proxy_pass https://192.168.2.5:5001;
  • }}

复制代码

```
IP 和端口的情况:
客户端( 192.168.2.2 )→Nginx ( domain.com:8 )→服务器后端( https://192.168.2.5:5001 )

我想实现这样的配置,通俗来说就是当「客户端」输入:「 https://domain.com:8 」访问的时候,服务器后端接受到的信息是:「客户端」的 IP 是「 192.168.2.2 」是通过访问「 https://192.168.2.5:5001 」来访问服务器后端的,也就是说当 Nginx 完全不存在一样,这样的话应该怎么样配置呢?
谢谢!
MJJ,你的签名掉了~~~
回复

使用道具 举报

1708

主题

3万

帖子

3万

积分

论坛元老

Rank: 8Rank: 8

积分
38658
发表于 2019-3-21 23:44:58 | 显示全部楼层
本帖最后由 yaren 于 2019-3-21 23:43 编辑

#这样配置可以通过x-forwarded-for获取用户真实ip
proxy_set_header X-Real-IP $remote_addr;


你不是配了吗
MJJ,你的签名掉了~~~
回复 支持 反对

使用道具 举报

1831

主题

3万

帖子

3万

积分

新手上路

Rank: 1

积分
37986
发表于 2019-3-21 23:58:45 | 显示全部楼层
yaren 发表于 2019-3-21 23:42
#这样配置可以通过x-forwarded-for获取用户真实ip
proxy_set_header X-Real-IP $remote_addr;


真实IP服务端能获取,我想要服务端判断客户端是访问的「https://192.168.2.5:5001」,而不是通过nginx代理访问的「https://domain.com:8」
MJJ,你的签名掉了~~~
回复 支持 反对

使用道具 举报

1822

主题

3万

帖子

3万

积分

新手上路

Rank: 1

积分
37825
发表于 2019-3-22 00:02:24 | 显示全部楼层
toyst 发表于 2019-3-21 23:48
真实IP服务端能获取,我想要服务端判断客户端是访问的「https://192.168.2.5:5001」,而不是通过nginx代 ...


不能,
最后的服务端是看到的客户端ip是根据与自己建立 tcp 连接的 ip 确定的,
除非他自己设定读取 http header 的某一字段为客户端ip,
MJJ,你的签名掉了~~~
回复 支持 反对

使用道具 举报

1788

主题

3万

帖子

3万

积分

新手上路

Rank: 1

积分
38431
发表于 2019-3-22 00:10:24 | 显示全部楼层
本帖最后由 爱纯粹 于 2019-3-22 00:07 编辑

https://www.nginx.com/blog/ip-transparency-direct-server-return-nginx-plus-transparent-proxy/
里面的 IP Transparency 就是你要的功能,但是只有收费版有。
所以还是老实改后端用HTTP头传客户端IP吧
MJJ,你的签名掉了~~~
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

展开

QQ|Archiver|手机版|小黑屋|全球主机交流论坛备用站

GMT+8, 2024-4-23 22:17 , Processed in 0.044411 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表