1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

IBM Cloud: CIS(Cloud Internet Service)のアクセス元の都道府県と市レベルの住所が分かるAPIを試してみた

Last updated at Posted at 2021-04-17

1. はじめに

PublicKeyでアクセス元の都道府県と市レベルの住所が分かるAPI、Cloudflareがエッジ上のCloudflare Workersで提供へという記事が紹介されていたので、IBM CloudのCIS(Cloud Internet Service)で実行できるか確認してみた。
※Cloudflare Workersは、CISではEdge Functionsと呼ばれている。

  • CloudflareのBlog記事はこちら
  • Source Codeのサンプルはこちら
  • ただし、上記のSource Codeサンプルをコピペすると(私の環境だと)改行が崩れたので、GitHub上の元ソースを参照した。

2. Edge Functionsの設定

  • Edge FunctionsのActionsタブにて、Createを選択。image.png
  • 関数名に適当な名称を入力(今回はgeolocationhelloworldとした)し、上記のsource codeを貼り付けて保管。image.png
  • Trigger列で、どういうFQDNにアクセスした際に上記のEdge Functionsが呼び出されるかを登録する。今回は自分のドメインが、example.comだったとしたら、hello.example.comでこのEdge Functionsが呼び出させるように構成したいので、Trigger URLにhello.<自分のドメイン>と登録し、Actions欄に上記で作成したEdge Functionsを登録する。
    image.png
  • Reliability -> DNSでhello.<自分のドメイン>が名前解決できるようにレコードを登録する。この際、解決先のIPアドレスは何でもいいので、Proxyを有効化してクライアントからのリクエストがEdgeに転送されるようにProxyを有効化する。本来は、EdgeがReverse Proxyと作動してこのDNSに登録されたIPアドレス宛にEdgeからリクエストが飛ぶはずだが、Edge FunctionsでHTMLを返すように構成しているので、このDNSに登録するIPは使われない(なので必ずしもAレコードである必要もないが、今回はシンプルなのでAレコードを利用し、8.8.8.8を登録)。
    image.png

3. テスト

https://hello.<自分のドメイン>にアクセスすることで、無事表示された!
Publickeyでの記事中に記載のある通り、住所の正確性は郵便番号は前3桁のみ正しく、後ろ4桁は間違っているし、携帯電話を利用している時は正しい場所を取得できてないが、
image.png

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?