我在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?.....
任何想法如何使其发挥作用?
答案 0 :(得分:0)
我认为您可以删除这样的端口(未经测试的代码):
@Url.Action(
"ConfirmMail",
"Account",
new { userId = user.Id, code = UserManager.GeneratePasswordResetTokenAsync(user.Id)},
protocol: Request.Url.Scheme,
Request.Url.Host
)