0
user --> internet --> server1 (iis proxy) --> server2 (hosting the website)
나는 절대 URL을 얻으려고하고있다. 지금 그러나asp.net mvc 절대 URL 얻기 (프록시 뒤)
string fullUrl = Url.Action("Bar", "Foo", new RouteValueDictionary(new { id = pid, search = search }), Request.Url.Scheme);
string fullUrlEncoded = HttpUtility.UrlEncode(fullUrl);
대신 나는 내부 IP이 절대 URL가 나타납니다 :
http://192.168.0.3/Foo/Bar/5
것은이 방법이 될 수
아래 코드는 우리가 프록시를 사용하지 않는 한 아무 문제없이 일했다 해결 됐어?
실제로 할 수있는 일은 없을 것이라고 생각합니다. 응용 프로그램은이를 사용하는 역방향 프록시에 대한 가시성을 갖지 않습니다. 절대 URL이 절대적으로 필요한 경우 응용 프로그램 설정과 같이 하드 코드해야합니다. 그런 다음 UrlHelper 확장을 만들어 해당 값을 읽고이를 기반으로 실제 절대 URL을 구성 할 수 있습니다. –
응용 프로그램 설정의 이점은 구성 변환을 통해 값을 변경할 수 있다는 것입니다. –
프록시가 X-Forwarded-For 헤더를 설정하는지 여부를 조사 할 수 있습니다. 그렇지 않은 경우이를 구성하면보다 바람직한 결과를 얻을 수 있습니다. –