0
0

SquidによるフォワードプロキシでCode Engineへのアクセスを制御する

Last updated at Posted at 2024-07-12

検証したい内容

Code EngineへのアクセスをVirtual Server Instanceに紐づいているSecurity GroupにてIPアドレス制御できるように、VSI上にフォワードプロキシを乗せ、プロキシ経由でCode Engineへアクセスされるようにする。
スクリーンショット 2024-07-12 13.29.56.png

手順

  1. Code Engineにアプリをデプロイ
  2. Virtual Server Instanceにプロキシサーバー(Squid)を立てる
  3. Code Engineのアプリにアクセス確認

検証環境

Client PC

OS: macOS Sonoma 14.5

プロキシサーバー

Squidを入れてプロキシの動きをさせる用のVirtual Server Instanceを作成します。
VSI作成-2.png
VSI OS.png
VSI Networking.png

  • Location
    リージョン:Tokyo 2
  • Details
    インスタンス名:xxxx-vsi
  • Image and profile
    CentOS Stream 9 - Minimal Install (amd64)
    2 vCPU, 4 GiB, 4 Gbps

Code Engine

アクセス確認用に、Code Engineにアプリをデプロイします。今回はサンプルアプリのコンテナイメージ (icr.io/codeengine/helloworld) を使います。
スクリーンショット 2024-07-11 14.24.51.png
スクリーンショット_2024-07-11_14_24_43.png

  • General
    インスタンス名:haruna-qiita
  • Code
    コンテナイメージ:icr.io/codeengine/helloworld
  • Resources & scaling
    インスタンスリソース:0.125vCPU/0.25GB
    オートスケーリングのインスタンス数:0-3
  • Domain mappings
    Privateエンドポイントを有効化

検証

1. Squidのインストール

作成したVSIにログインし、Squidをインストールします。
(こちらのサイトを参照しました。)

以下のコマンドでSquidをインストールします。

dnf -y install squid

2.フォワードプロキシとして動くようコンフィグを編集

インストールが完了したら、Squid がフォワードプロキシとして動くようコンフィグファイルを編集します。

vi /etc/squid/squid.conf

以下、編集箇所です

# 55行目 : 追記 (httpアクセスを全て許可)
http_access allow all

# 60行目 : http_port 3128 → 8080に変更
# [defaultsite] は転送先 Web サーバーを指定
# http_port 3128
http_port 8080 

コンフィグファイルを編集したら、Squidをリスタートします。

systemctl restart squid

3. Code Engineのアプリにアクセス確認

Code Engineのアプリにフォワードプロキシ経由でアクセスをするため、ユーザーPCからプロキシを指定します。以下のどちらかの方法で、プロキシの指定・アクセス確認をします。

アクセス確認方法1:curlコマンドでプロキシを指定・アクセス確認

ユーザーPCのターミナルから、以下のcurlコマンドでプロキシを指定し、Code Engineアプリへのアクセス確認をします。

curl --proxy http://128.xxx.xxx.xx:8080 https://haruna-qiita.xxxxxxx.private.jp-tok.codeengine.appdomain.cloud

curl --proxyの後ろは
プロキシサーバーのFloatingIP:ポート番号
https://Code Engineにデプロイしたアプリのドメイン名
です。

以下のように応答が返ってきたらアクセス成功です。
スクリーンショット_2024-07-18_15_15_42.png

Code EngineにデプロイしたHello worldアプリへアクセス出来たことがわかります。

アクセス確認方法2:ユーザーPCのWebブラウザからアクセス確認

Webブラウザにてプロキシの指定を行う必要があります。今回はFirefoxで実施しました。
Settings> Network Settingsを開きます。"Manual proxy configuration"を選択し、プロキシを入れているVSIのFloating IPとポート番号8080を指定します。Network Settingが完了したら、設定を適用するために一度ブラウザを閉じ、開き直します。
スクリーンショット_2024-07-11_12_01_05.png

Webブラウザに、Code Engineにデプロイしたアプリのドメイン名を入力してアクセス確認します。
スクリーンショット_2024-07-18_15_15_58.png

Code EngineにデプロイしたHello worldアプリへアクセス出来たことがわかります。

0
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
0
0