- PR -

HTTP用に実装したStrutsWebアプリをHTTPS用に配置したい。

1
投稿者投稿内容
PAL
ベテラン
会議室デビュー日: 2002/11/14
投稿数: 63
投稿日時: 2005-07-07 11:51
Strutsを使用して、社内アプリケーションを作成しました。
WebサーバーはWebSphere4.0.5(JDK 1.3.1)です。

その際、イントラネットでしたので特に気にすることもなくサイトを作成しました。

その後、そのWebアプリケーションを外部に公開したいと言う事になり、WebSphereにHTTPSの設定を行い、アプリケーションを配置したのですが、

・ログイン画面は、「https://xxx.com/login.jsp」でアクセス出来る。
・ログインすると、httpサイトの該当URLへPOSTされる。
・ソースを確認すると、
<head><base href="http://xxx.com/login.jsp"></head>
 となっているため、実行結果がhttpサイトになっている気がする。

という状況になってしまいます。

色々サイトを回ってみると、StrutsでSSL通信する場合は、「Struts SSL Extension」が良いとの記述も見つけました。(この掲示板にも投稿されていました)

そこで質問があります。
HTTP用に実装したStrutsアプリをHTTPS用にするには、

1.JSPやコントローラー(主にURL生成部分)に修正が必要
2.「Struts SSL Extension」を使用するとやや楽

という事なのでしょうか?
また、URLをWebアプリケーション内部で生成している部分があるのですが、その際
org.apache.struts.util.RequestUtils.requestURL(req)
※req:HttpServletRequest
としているのですが、この時点でクライアントからhttpsを要求していても、httpに置き換わってしまっているようです。
と言う事は、WebSphere上でも何かしらの設定が漏れていると言うことでしょうか?

以上、よろしくお願いします。
ロス
常連さん
会議室デビュー日: 2005/03/25
投稿数: 26
投稿日時: 2005-07-08 11:21
Websphereでは確認をとったことはないですが、jbossなんかだと、serverをhttpsにするだけで使用できたと思います。
最初に呼び出すURLが「http://・・・」から「https://・・・」になるだけかと。。。

baseを気にしていらっしゃるなら、「html:base」タグを利用してはいかがでしょう?


以下、事象とは関係ないです^^;
--
「html:link」タグや「html:rewrite」タグなどでhrefを利用して「http://」をハードコーディングしている箇所もチェックしてみては。
1

スキルアップ/キャリアアップ(JOB@IT)