見出し画像

リバースプロキシサーバーを用意してGPTsによるAPIキーの漏洩を防ぐ

導入部

この記事では、Google Apps Script(GAS)を使用してリバースプロキシサーバーを構築し、APIキーの漏洩を防ぐ方法について説明します。

前提として、以下の記事で扱った、Google Places APIなどは、秘匿にしておくべきAPIキーがURL内に含まれてしまうため、APIキーが漏洩してしまうという問題がありました。今回の記事はそれを解消するためのものです。

APIキーの漏洩は、不正アクセスやサービスの乱用につながります。

そもそも、「プロキシサーバー」とはなんでしょうか?

プロキシサーバーとは何か

まず、基本的な「プロキシサーバー」について理解しましょう。

プロキシサーバーは、インターネット上の他のサーバーとの通信を代行するサーバーです。

簡単に言えば、インターネット上の「仲介者」のような役割を果たします。

リバースプロキシとフォワードプロキシの違い

プロキシサーバーには大きく分けて、「フォワードプロキシ」と「リバースプロキシ」の二種類があります。

  • フォワードプロキシ: ユーザーの側に立って、ユーザーのリクエストをインターネットのサーバーに代わって送る役割を果たします。例えば、学校や企業がインターネットの使用を管理するために使います。

  • リバースプロキシ: サーバーの側に立って、インターネットからのリクエストを受け取り、適切なサーバーに転送します。この方式は、ウェブサイトのパフォーマンスを向上させたり、セキュリティを強化したりするために使われます。

リバースプロキシの機能

リバースプロキシサーバーは、以下のような多くの機能を持たせることができます。

  1. 負荷分散: 複数のサーバーにリクエストを分散させることで、一つのサーバーにかかる負荷を減らします。

  2. キャッシング: よくアクセスされるページを一時的に保存し、次回同じページにアクセスする際に速く表示できるようにします。

  3. セキュリティ強化: 不正なアクセスや攻撃を防ぐための壁として機能します。

  4. SSL暗号化の管理: セキュアな通信を提供するために、SSL証明書を管理し、暗号化された通信を処理します。

リバースプロキシの実際の利用例

例えば、大きなウェブサイトでは、リバースプロキシを使って、アクセスが集中するときにサーバーがダウンしないようにしたり、セキュアな情報交換を実現したりしています。

このように、リバースプロキシサーバーはインターネット上で重要な役割を果たしており、ウェブのパフォーマンスやセキュリティを大きく向上させることができるのです。

今回の例では、Google Apps Script(GAS)にリバースプロキシサーバーとしての機能を持たせることで、APIリクエストを中継し、APIキーをサーバーサイドに隠蔽することが可能です。

GASを選ぶ理由

GASは、Googleのクラウド上で動作するスクリプトプラットフォームで、比較的簡単に誰でもWebアプリケーションを構築できます。

また、重要な点として無料で扱うことができます。

しかし、1日の利用制限があるため、リクエスト数が多くなってくると捌くのが難しくなってきます。

それではみていきましょう!

この記事に取り掛かる前提として、以下の記事を読んでおくことをお勧めします:

ここから先は

4,125字 / 1画像

AGIラボ

¥2,980 / 月
初月無料
このメンバーシップの詳細