WordPressの逆引き作業メモ

このブログはWordPressで業務に使った時の自分の作業用のポイントメモです。

htaccessでstripeなどの組込をサイトでテストしている時にwebhookだけベーシック認証をIPではずす

f:id:jinkosky2009:20201006222701j:plain


サイト公開前などにベーシック認証を使って閲覧を制限することがあります。

ただ通販や他のAPIを使って最近増えたwebhookでの通信を使う場合、ベーシック認証をサイト全体に使っているとそこの部分のテストができません。

なので、htaccessで特定のIPからの場合だけベーシック認証をはずす設定を追加します。

 

 

 

Stripeを例にあげます。

Stripeのサイトには、IPアドレスのリストが公開されています。

stripe.com

この、

Webhook notifications 

The full list of IP addresses that webhook notifications may come from is:

の下のIPのリストを使います。

.htpasswdにパスワードのフルパスを記述し。

Require valid-userまでで、ベーシック認証をかけます。

 

AuthUserFile "/var/www/public_html/.htpasswd"
AuthName "Member Site"
AuthType BASIC
Require valid-user

Satisfy Any
Order deny,allow
Allow from 3.18.12.63
Allow from 3.130.192.231
Allow from 13.235.14.237
Allow from 13.235.122.149
Allow from 35.154.171.200
Allow from 52.15.183.38
Allow from 54.187.174.169
Allow from 54.187.205.235
Allow from 54.187.216.72
Allow from 54.241.31.99
Allow from 54.241.31.102
Allow from 54.241.34.107
Deny from all

Satisfy Any

のAllow fromにStripeに記載されていたIPのリストを記述します。

これで、通常の閲覧ではベーシック認証がかかり、何かの操作(カートの決済)などを行った場合のStripeのwebhookだけベーシック認証がかからず通常処理されます。

Stripeのwebhookのエラーコードで確認できます。

他のwebhookを使うAPIでも使う事ができるので試して見てください。