オッサンの屋根裏実験室

Main navigation

  • ホーム
  • 参考リンク集

パンくず

  • ホーム
  • Apacheリバースプロキシのアクセス制御

Apacheリバースプロキシのアクセス制御

By Ossan | 土 12月 19, 2020

制作中のサイトは外部に開放していないポートを使ってバーチャルホストを作り、SSHポートフォーワードで動作確認。運用開始時にはリバースプロキシを使って公開するという方法を使っています。

公開後も外部からアクセスしてほしくないコンテンツがある場合に、リバースプロキシにアクセス制限をかける方法を試してみました。

参考にしたサイト:
mod_proxy - Apache HTTP Server Version 2.4のドキュメント(英語)
https://www.ubuntu-perl-web.com/blog/20200306174004.html

リバースプロキシのアクセス制御

<Proxy>ディレクティブを使ってProxyPass側にアクセス制限をかけることができます。

                +----  Frontend  ----+
       Request  |                    |
Client ---------|--> [ProxyPass] ----|------> Backend
       Deny     |         |          |
       <--------|---------+          |
       Response |                    |
       <--------| [ProxyPassReverse] |<----
                +--------------------+

設定例

/etc/httpd/conf/httpd.confを編集して、mod_proxyモジュール、mod_proxy_httpモジュールを有効にします。https通信を行う場合は、mod_rewriteモジュール、mod_sslモジュール、mod_headersモジュールも有効にします。

プロキシを行うバーチャルホストの設定ファイルを作成

例:/etc/httpd/conf/vhosts/frontend.conf

<VirtualHost "*:80">
    ServerName test.example.com
    ServerAdmin webmaster@test.example.com
    DocumentRoot "/srv/http/sites/frontend"
    ErrorLog "/var/log/httpd/frontend-errot_log"
    CustomLog "/var/log/httpd/frontend-access_log" common

    <Proxy "/want-to-deny">
        Require ip 127.0.0.1 127.0.1.1
    </Proxy>
    ProxyPreserveHost On
    ProxyPass "/" "http://localhost:8080/"
    ProxyPassReverse "/" "http://localhost:8080/"
</VirtualHost>

転送先(http://localhost:8080/)の末尾の/を忘れないように!

プロキシされる(バックエンド)バーチャルホストの設定ファイルを作成

例:/etc/httpd/conf/vhosts/backend.conf

Listen 8080
<VirtualHost "*:8080">
    ServerName test.example.com
    ServerAdmin webmaster@test.example.com
    DocumentRoot "/srv/http/sites/backend"
    ErrorLog "/var/log/httpd/backend-error_log"
    CustomLog "/var/log/httpd/backend-access_log" common

    <Directory "/srv/http/sites/backend">
        AllowOverride all
        Require all granted
    </Directory>
</Directory>

/etc/httpd/conf/httpd.confを編集して、/etc/httpd/conf/vhosts/frontend.confと/etc/httpd/conf/vhosts/backend.confをインクルードするようにします。

# Virtual hosts
#Include conf/extra/httpd-vhosts.conf
Include conf/vhosts/frontend.conf
Include conf/vhosts/backend.conf

 

Apache
リバースプロキシ
バーチャルホスト
アクセス制御

コメント

最近の投稿

SandyBridge-Eマシンとお別れ
DHCPv6サーバーでUFWを使うとき
Debian10 - IPv6を無効にする
gnome-terminalをSSH-X転送する
Apacheリバースプロキシのアクセス制御
ページ送り
  • 1 ページ
  • 次ページ ››
Powered by Drupal

Copyright © 2025 オタルラボ - All rights reserved

Developed & Designed by オタルラボ