学習の一環として、Java8、SpringBootによる開発を行っております。
サーバーはAWSのEC2(OSはAmazonLinux2)を使用しています。
warパッケージを生成し、EC2内のTomcatに配備し、プログラムを公開したいと思っています。
こちらの記事を参考に進めました。
https://teratail.com/questions/255847
実現したいこと
EC2にインストールしたApacheとTomcatを、ajpで連携をさせたいです。
具体的には、「http://パブリックIP/」 でアクセスした際に、SpringBootで作成したWebアプリケーションのトップページが表示されるようにしたいです
設定
■ EC2
ElasticIPでパブリックIPアドレスを固定してあります。
セキュリティグループで 80 と 8080 番のポートを開放しています。
■ Apache
インストール :yumでインストール
バージョン:Apache2.4.41
設定 :自動起動設定を有効にしてあります。
挙動 :「http://パブリックIP/」でアクセスすると、Apacheのデモページが表示されます。
■ Tomcat
インストール :wgetで最新版をインストール
バージョン:Tomcat9.0.34
設定 :サービス登録をし、自動起動設定を有効にしてあります。
挙動 :「http://パブリックIP:8080」でアクセスすると、404エラーが表示されます。
「http://パブリックIP:8080/manager/html」でアクセスすると、アプリケーションマネージャーが開けます。
また、webappsフォルダに「test1」という名称のwarファイルを配備しています。
「http://パブリックIP:8080/test1」でアクセスすると、404が表示されます。
上記の設定後、ApacheとTomcatを連携するために試したこと
■ Tomcat
/opt/apache-tomcat/conf/server.xmlで、8009番ポートのコメントを解除
<!-- Define an AJP 1.3 Connector on port 8009 --> <Connector protocol="AJP/1.3" port="8009" secretRequired="false" address="127.0.0.1" redirectPort="8443" />
■ Apache
/etc/httpd/conf.modules.d/00-proxy.confで、モジュールが有効になっていることを確認
LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
try① /etc/httpd/conf/httpd.confに直接設定を書き込む
ProxyPass / ajp://localhost:8009/test1/
どこに書き込んだらよいかわからなかったのでとりあえず下のほうに書き込みました。
文字制限のため省略… #EnableMMAP off EnableSendfile on # Enable HTTP/2 by default # # https://httpd.apache.org/docs/2.4/mod/core.html#protocols <IfModule mod_http2.c> Protocols h2 h2c http/1.1 </IfModule> ProxyPass / ajp://localhost:8009/test1/ # Supplemental configuration # # Load config files in the "/etc/httpd/conf.d" directory, if any. IncludeOptional conf.d/*.conf
Try② 外部ファイルを読み込む
/etc/httpd/conf/extra/httpd-proxy.confを作成したかったが
ディレクトリが存在しないというエラーが出て作成できず
vi /etc/httpd/conf/extra/httpd-proxy.conf
解決したい問題
Proxyの設定方法を知りたい
webページを公開したい
サーバーに関する知識が乏しく支離滅裂となり申し訳ありませんが何卒ご教授ください。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。