在支付过程之后,触发了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
1条答案
按热度按时间pgky5nke1#
是的,我已经做了你之前说的一切。我也允许在服务器上请求条带IP地址,我没有在我的代码中做任何会返回403的授权。
出现错误的原因完全与服务器有关。代理信息与我们在服务器上阻止恶意机器人的规则集相匹配。我根据收到的代理信息更新了规则。Regex匹配有问题。一旦修复此问题,问题就消失了。