2016年10月13日木曜日

CentOS + JIRA + HTTPS

JIRA(Tomcat)を強制HTTPS化する手順です。
JIRAに限らずTomcat共通なのですが、JIRAで行ったのでJIRAとします。

自己署名証明書での手順です。

1.Keystoreの作成(一般的なpemではない方です)

JIRAをインストールしたディレクトリを確認します。
CentOSなら、 /opt/atlassian/jira/ だと思います。

作成コマンド
/opt/atlassian/jira/jre/bin/keytool -genkey -alias jira -keyalg RSA -keystore /home/jira/.keystore

/home/jira は、JIRAの実行ユーザーのホームです。 必ずJIRAの実行ユーザーのホームを指定してください。
ホームに置けない理由がある場合は、置いたディレクトリをJIRAの実行ユーザーのみが読み書きできる設定にしてください。
ファイルではなくディレクトリというのがポイントです。

自己署名なので、設定内容は適当で問題ありません。
最初に設定するパスワードだけはメモってください。後で使います。

2.サーバー設定
/opt/atlassian/jira/conf/server.xml

HTTPSの設定(ポート8443の設定)がコメントアウトされているので、外してください。
設定を追加します。

keystoreFile="/home/jira/.keystore"
keystorePass="作成時に指定したパスワード"
keyAlias="jira"
3.強制HTTPS化
/opt/atlassian/jira/conf/web..xml

httpでアクセスしてきたら、httpsへいダイレクトするように設定します。
web-app要素の最後に追加してください。

  <security-constraint>
    <web-resource-collection>
      <web-resource-name>hogehogeeee</web-resource-name>
      <url-pattern>/*</url-pattern>
      <http-method>GET</http-method>
      <http-method>POST</http-method>
    </web-resource-collection>
    <user-data-constraint>
      <transport-guarantee>CONFIDENTIAL</transport-guarantee>
    </user-data-constraint>
 </security-constraint>
4.再起動
service jira stop
service jira start

以上で終わりです。