asp.net .net core mvc web hook终结点请求中出现403错误

u0njafvf  于 12个月前  发布在  .NET
关注(0)|答案(1)|浏览(124)

在支付过程之后,触发了stripe web hook端点,但我得到了一个403 forbidden错误。
如何允许Stripe API向.Net Core MVC中的某些IP地址发出请求?
注意:条带IP地址可用。

[HttpPost]
        public async Task<IActionResult> AfterPayment()
        {
            const string endpointSecret = "whsec*****************";
                
            var json = await new StreamReader(HttpContext.Request.Body).ReadToEndAsync();
            try
            {
                var stripeEvent = EventUtility.ConstructEvent(json,
                    Request.Headers["Stripe-Signature"], endpointSecret);

                // Handle the event
                if (stripeEvent.Type == Events.CheckoutSessionAsyncPaymentSucceeded)
                {
                     //processs
                }

字符串
所以简而言之,我想允许来自条带API的请求。
是的,现在代码中没有问题,但是当Stripe API尝试触发webhook时,我得到了一个403禁止错误。我从IIS设置中允许服务器上Strip的API的IP地址。403禁止错误仍然存在。
例如,在经典的asp.net mvc中,某些IP被允许发送请求,如下所示。我如何在.net core mvc中做到这一点?

<system.web>
    <security>
        <ipSecurity>
            <add ipAddress="x.x.x.x" allowed="true" />
            <!-- other ip address add -->
        </ipSecurity>
    </security>
</system.web>


当服务器检测到错误(400)、目标URL有访问限制(401,403)或目标URL不存在(404)时,可能会发生此错误。
Server error Log

pgky5nke

pgky5nke1#

是的,我已经做了你之前说的一切。我也允许在服务器上请求条带IP地址,我没有在我的代码中做任何会返回403的授权。
出现错误的原因完全与服务器有关。代理信息与我们在服务器上阻止恶意机器人的规则集相匹配。我根据收到的代理信息更新了规则。Regex匹配有问题。一旦修复此问题,问题就消失了。

相关问题