开发者社区> 问答> 正文

关于SLB后本地TCP协议无法获取真实IP

我在使用了SLB时,选择的协议是
HTTPS:443
HTTP:80

为什么没有使用TCP的协议,是因为我必须要强制用户使用https的方式登录,所以我将证书导入了SLB中,这是很好的功能。
随之而来出现的一个问题
虽然我可以使用nginx的http_realip_module模块来获取对方的真实IP地址,但后端的服务器的所有TCP协议则获取不到真实的IP地址

比如:
我使用netstat 看到的TCP连接都是SLB的IP,这样我是无法通过iptables来限定某个IP访问我的web服务器的,如果使用脚本的方法去做一些CC防护也不可能再使用iptables

我能想到的方法只能是在nginx的配置中通过deny IP的方式来实现了,如果要用脚本自动化的控制,只能用sed 来进行文本处理了,比较能接受的是我nginx支持重载配置文件,不用重启服务。
有没有其他更好的办法呢?

我真的很需要基于instance的外部策略防火墙



展开
收起
mislost 2015-07-29 14:42:20 8318 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
《应用型负载均衡ALB产品解读》 立即下载
阿里云网络-SLB负载均衡产品介绍 立即下载
负载均衡SLB热点问题解答 立即下载