IIS URL在生成的电子邮件链接中重写错误的端口

时间:2015-11-14 19:23:26

标签: asp.net asp.net-mvc iis iis-8.5

我在IIS 8.5上使用ARR,并指向服务器场的URL重写。后端网站在同一台机器上运行,但在不同的端口上运行,即8102。一些支持网站节点发送电子邮件以确认电子邮件,并且这些邮件包含其中包含错误端口的激活链接(主机名正确)。该链接具有与网站实例相同的端口。但这是一个问题,因为链接会被破坏。在我用来生成链接的代码中:

Url.Action("ConfirmMail", "Account",
                new { userId = user.Id, code = UserManager.GeneratePasswordResetTokenAsync(user.Id)},
                protocol: Request.Url.Scheme);

因此,用户获得的链接是https://correct_hostname:8102/Account/ConfirmMail?..... 正确的链接应为https://correct_hostname/Account/ConfirmMail?.....https://correct_hostname:443/Account/ConfirmMail?.....

任何想法如何使其发挥作用?

1 个答案:

答案 0 :(得分:0)

我认为您可以删除这样的端口(未经测试的代码):

@Url.Action(
    "ConfirmMail", 
    "Account", 
    new { userId = user.Id, code = UserManager.GeneratePasswordResetTokenAsync(user.Id)}, 
    protocol: Request.Url.Scheme, 
    Request.Url.Host
)

More information here