我的目标是拥有一个Azure应用服务,通过HTTPS从自定义域提供服务。 此应用程序接收HTTPS POST请求,并应在此过程中记录远程IP。
我通常会得到远程IP地址,即调用客户端的IP,如下所示:
HttpRequest request = ...
var IP = request.HttpContext.Connection.RemoteIpAddress;
要通过HTTPS为自定义域提供应用,我启用了天蓝色CDN端点。
现在IP I记录用于CDN服务器而不是呼叫客户端。
是否有可能获得原始IP?
有问题的请求是HTTPS POST,因此CDN缓存不应成为问题。
Azure CDN是否添加了可能包含此类信息的任何标头?
直接向App Service添加SSL证书会改变什么吗?
答案 0 :(得分:1)
通过测试,我发现Azure CDN会在客户端的真实IP中添加X-Forwarded-For
标头。
我唯一提到的这个标题是在Azure CDN documentation中提到标题是保留的。
答案 1 :(得分:0)
This article描述了Azure CDN的工作方式,我们可以知道用户通过CDN请求文件,如果POP中的边缘服务器没有缓存中的文件,边缘服务器会从起源。用户请求不会直接从客户端用户发送到源,如您所见,它会记录边缘服务器的IP而不是调用客户端的IP。