Apacheにリバースプロキシーを設定


リバースプロキシー

ref.
https://httpd.apache.org/docs/2.4/urlmapping.html#proxy

Apacheインストール(Dockerでインストール)

$ docker run -d -p 8080:80 --name my-app -v "$PWD":/var/www/html php:7.2-apache

SSHログイン

$ docker exec -it my-app /bin/bash

Apacheバージョン確認

apache2 -v
Server version: Apache/2.4.38 (Debian)
Server built:   2020-08-25T20:08:29

リバースプロキシー設定

  1. mod_proxyproxy_httpを有効化
  2. /etc/apache2/mods-availables/proxy.confに設定
  3. $ apache2ctl configtest
  4. $ service apache2 restart

$ service apache2 restartを実行したら、毎回なぜかコンテナが停止するので $ docker startで再開。

http://localhost:8080にアクセスするとhttp://example.comの内容が表示された。

mod_proxyとproxy_httpを有効化

mod_proxyはデフォルトで有効なのでproxy_httpを有効化。

$ a2enmod proxy_http

proxy.confに設定追加

        # If you want to use apache2 as a forward proxy, uncomment the
        # 'ProxyRequests On' line and the <Proxy *> block below.
        # WARNING: Be careful to restrict access inside the <Proxy *> block.
        # Open proxy servers are dangerous both to your network and to the
        # Internet at large.
        #
        # If you only want to use apache2 as a reverse proxy/gateway in
        # front of some web application server, you DON'T need
        # 'ProxyRequests On'.

        #ProxyRequests On
        #<Proxy *>
        #   AddDefaultCharset off
        #   Require all denied
        #   #Require local
        #</Proxy>

        # Enable/disable the handling of HTTP/1.1 "Via:" headers.
        # ("Full" adds the server version; "Block" removes all outgoing Via: headers)
        # Set to one of: Off | On | Full | Block
        #ProxyVia Off
ProxyRequests Off
    <Proxy *>
        Require all granted
    </Proxy>
    ProxyPass / http://example.com/
    ProxyPassReverse / http://example.com/

</IfModule>

上記のように記載して保存すると自動で先頭に<IfModule mod_proxy.c>が追加されるよう?

ref.
https://www.server-world.info/query?os=Ubuntu_16.04&p=httpd2&f=5

コメント

No comments yet.

コメントの投稿

改行と段落タグは自動で挿入されます。
メールアドレスは表示されません。