Docker:Apache_Redmine

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

次のリビジョン
前のリビジョン
Docker:Apache_Redmine [2022/12/08 14:10] – 作成 白くじらDocker:Apache_Redmine [2025/04/12 05:15] (現在) – 外部編集 127.0.0.1
行 1: 行 1:
-# Apache + Redmine+# Apache + Redmine(Docker) 
 + 
 +参考: 
 + 
 +- [Apacheで簡単にリバースプロキシ構築(SSL通信転送付き)](https://blog.neet-shikakugets.com/construct-reverse-proxy-using-apache) 
 +- [ApacheリバースプロキシでHTTPSリダイレクトをかける方法](https://suwaru.tokyo/apache%e3%83%aa%e3%83%90%e3%83%bc%e3%82%b9%e3%83%97%e3%83%ad%e3%82%ad%e3%82%b7%e3%81%a7https%e3%83%aa%e3%83%80%e3%82%a4%e3%83%ac%e3%82%af%e3%83%88%e3%82%92%e3%81%8b%e3%81%91%e3%82%8b%e6%96%b9%e6%b3%95/
 + 
 +##### 環境 
 + 
 +- CentOS Stream 9 (ホスト環境) 
 +- ホストに Apache 2.4.53をインストール済み 
 +- SSL証明書として Let's Encrypt を利用 
 +- ホストに対してhttps通信が可能 
 +- ホストのグローバルIPアドレスに関連付けされたドメイン名を取得済み 
 +- Docker 20.10.21 がインストール済み 
 +- 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 /etc/httpd/conf/httpd.conf 
 + 
 +・・・ 
 +----------追記部分----------- 
 +<VirtualHost *:80> 
 +  ProxyRequests off 
 +  RewriteEngine On 
 +  RewriteRule ^/$ https://<ドメイン名>/ 
 +  Redirect / https://<ドメイン名>/ 
 +</VirtualHost> 
 +------------------------------ 
 +・・・ 
 + 
 +# Load config files in the "/etc/httpd/conf.d" directory, if any. 
 +IncludeOptional conf.d/*.conf 
 + 
 +おそらく「IncludeOptional・・・」よりも上部の方がよさそう。 
 +``` 
 + 
 +次にリダイレクトさせるために、「ssl.conf」を編集する。 
 + 
 +``` 
 +$ sudo vi /etc/httpd/conf.d/ssl.conf 
 + 
 + 
 +#<VirtualHost _default_:443> ←コメントで削除 
 +<VirtualHost *:443> ←追記 
 + 
 +SSLProxyEngine on 
 +ProxyPass <path> <アプリのURL> 
 +ProxyPassReverse <path> <アプリのURL> 
 + 
 +例えば、 
 +<path> = /redmine 
 +<アプリのURL> = http://localhost:8081/redmine/ 
 +``` 
 + 
 +上記2つのファイルを編集後、文法チェックを行い問題がないことを確認する。 
 + 
 +``` 
 +$ sudo httpd -t 
 + Syntax OK 
 +``` 
 + 
 +確認後、apacheを再起動させて、設定したパスを入力して、https通信ができていることを確認する。 
 + 
 +``` 
 +$ sudo systemctl restart httpd 
 +``` 
 + 
 + 
 + 
 + 
  • Docker/Apache_Redmine.1670476236.txt.gz
  • 最終更新: 2025/04/12 05:15
  • (外部編集)