差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
| Docker:Apache_Redmine [2022/12/08 14:26] – 白くじら | Docker:Apache_Redmine [2025/04/12 05:15] (現在) – 外部編集 127.0.0.1 | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| - | # Apache + Redmine | + | # Apache + Redmine(Docker) |
| 参考: | 参考: | ||
| 行 15: | 行 15: | ||
| - Docker 20.10.21 がインストール済み | - Docker 20.10.21 がインストール済み | ||
| - Docker上において、Redmineコンテナが動作しており、(ホスト)8081→80(Redmine)のポート設定になっている | - Docker上において、Redmineコンテナが動作しており、(ホスト)8081→80(Redmine)のポート設定になっている | ||
| - | - | + | |
| + | |||
| + | ##### 構築背景 | ||
| + | |||
| + | Docker上でhttps通信用の中継Webサーバを立ててもよかったが、 | ||
| + | |||
| + | 既に構築しているホスト上のWebサーバ(Apache)を中継させたかった。 | ||
| + | |||
| + | そのため、コンテナ上のRedmineに直接アクセスするのではない。 | ||
| + | |||
| + | ##### リバースプロキシ及びリダイレクトの設定 | ||
| + | |||
| + | ホスト上のWebサーバを中継して、https通信を行うために、Apacheにリバースプロキシを設定する。 | ||
| + | |||
| + | 『Redmineではログイン後にリダイレクトを行うため、リバースプロキシを設定するだけでは、 | ||
| + | |||
| + | ログイン画面はhttps通信ができても、ログイン後はhttp通信になる。』(著者の環境及び能力ではこうなった…) | ||
| + | |||
| + | そのため、リダイレクトですべてのhttp通信をhttps通信にリダイレクトするようにして、 | ||
| + | |||
| + | Redmineログイン後もhttps通信となるように設定を行う。 | ||
| + | |||
| + | まずは、リダイレクト設定のために、「httpd.conf」を編集する。 | ||
| + | |||
| + | ``` | ||
| + | $ sudo vi / | ||
| + | |||
| + | ・・・ | ||
| + | ----------追記部分----------- | ||
| + | < | ||
| + | ProxyRequests off | ||
| + | RewriteEngine On | ||
| + | RewriteRule ^/$ https://< | ||
| + | Redirect / https://< | ||
| + | </ | ||
| + | ------------------------------ | ||
| + | ・・・ | ||
| + | |||
| + | # Load config files in the "/ | ||
| + | IncludeOptional conf.d/ | ||
| + | |||
| + | おそらく「IncludeOptional・・・」よりも上部の方がよさそう。 | ||
| + | ``` | ||
| + | |||
| + | 次にリダイレクトさせるために、「ssl.conf」を編集する。 | ||
| + | |||
| + | ``` | ||
| + | $ sudo vi / | ||
| + | |||
| + | |||
| + | #< | ||
| + | < | ||
| + | |||
| + | SSLProxyEngine on | ||
| + | ProxyPass < | ||
| + | ProxyPassReverse < | ||
| + | |||
| + | 例えば、 | ||
| + | < | ||
| + | < | ||
| + | ``` | ||
| + | |||
| + | 上記2つのファイルを編集後、文法チェックを行い問題がないことを確認する。 | ||
| + | |||
| + | ``` | ||
| + | $ sudo httpd -t | ||
| + | | ||
| + | ``` | ||
| + | |||
| + | 確認後、apacheを再起動させて、設定したパスを入力して、https通信ができていることを確認する。 | ||
| + | |||
| + | ``` | ||
| + | $ sudo systemctl restart httpd | ||
| + | ``` | ||
| + | |||