質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

Apache Tomcat

Apache TomcatはApache Software Foundation (ASF)で開発されたオープンソースのWebコンテナです。

Q&A

解決済

1回答

1956閲覧

ajpによるTomcatとApacheの連携で、セッション維持がされない

ami613

総合スコア20

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Spring

Spring Framework は、Javaプラットフォーム向けのオープンソースアプリケーションフレームワークです。 Java Platform上に、 Web ベースのアプリケーションを設計するための拡張機能が数多く用意されています。

Apache Tomcat

Apache TomcatはApache Software Foundation (ASF)で開発されたオープンソースのWebコンテナです。

0グッド

0クリップ

投稿2020/05/15 09:41

前提

自己学習の一環として、Java11、SpringBootによる開発を行っております。

ローカル環境では、組み込みTomcatを使用し開発をしております。
AWS環境では、EC2内にApacheとTomcatを同居させて、ajpで連携をしております。

AWS環境には TestApp.war という名称で、TomcatのwebAppsへ配備しております。

現状

ECサイトのようなものを作っております。
ローカル環境ではセッション維持がされているのに、
AWS環境にデプロイするとセッション維持がされなくなってしまいます。。。

具体的には、セッションがないのでログイン画面へ戻されてしまう、という現象がおきています。

実現したいこと

セッションを維持できるようにしたいです。

設定

■ Apache

  • インストール :yumでインストール
  • バージョン:Apache2.4.41
  • /etc/httpd/conf.d/mod_ajp_proxy.conf に記述した内容 ↓
<location /> ProxyPass ajp://localhost:8009/TestApp/ </location>

■ Tomcat

  • インストール :wgetで最新版をインストール
  • バージョン:Tomcat9.0.34
  • /opt/apache-tomcat/conf/server.xml に記述した内容 ↓
<Connector protocol="AJP/1.3" address="127.0.0.1" port="8009" secretRequired="false" redirectPort="8443" />

■ 「http://IPアドレス/」へアクセスしたときの挙動

  • TestAppのトップページが表示されます。
  • Google開発者ツールでCookieを確認すると、値が何も設定されていません

試したこと

/etc/httpd/conf.d/mod_ajp_proxy.confを下記のように修正し、

<location /TestApp> ProxyPass ajp://localhost:8009/TestApp/ </location>

http://IPアドレス/TestApp」のようにアクセスし、
Google開発者ツールでCookieの中身を確認すると、

  • JSESSIONID
  • SESSION

の2つのkeyで値が入っていることを確認しました。
他の画面に遷移しても、値は持ち越せているようです。

実現したいこと(補足)

おそらく下記のURLの方と同じ現象だと思っています。
https://okwave.jp/qa/q6353958.html

上記の「試したこと」にも書いた通り、
アクセス用のURLをアプリケーション名と完全一致させて、
http://IPアドレス/TestApp」へアクセスすると、
確かにセッション維持はされました。

ただ、
http://IPアドレス/」でアクセスができて、
セッション維持もされるようにしたいと思っております。

ApacheやTomcatといったミドルウェアに疎く、なかなか実現ができません。。。
一応、設定ファイルを変更したらsystemctl restartで再起動はかけております。
何か足りない情報がございましたら、ご指摘いただければ追記を致します。
何卒宜しくお願い致します

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

ajpの転送をlocalhostではなくアクセスしたドメインにしたら。いけない?

投稿2020/05/15 09:56

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ami613

2020/05/15 10:48

ご回答ありがとうございます! 間違っていたらすみません...! ``` <location /> ProxyPass ajp://EC2のパブリックIPアドレス:8009/TestApp/ </location> ``` というような修正でしょうか? 上記修正をして、アクセスしたところ、レスポンスが返ってきませんでした。。
退会済みユーザー

退会済みユーザー

2020/05/15 10:57

いや ajp://localhost:8009/appname を ajp://example.com:8009/appname 多分クッキーのドメインが localhost になっとる
ami613

2020/05/15 11:02

ご回答ありがとうございます! 独自ドメインは購入していなくて、EC2に割り振られたパブリックIPアドレスしかないんです...。 ドメインがないと難しいでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問