すべてのプロダクト
Search
ドキュメントセンター

Certificate Management Service:GlassFish サーバー (Linux) への SSL 証明書のインストール

最終更新日:Dec 04, 2025

このトピックでは、GlassFish サーバーに SSL 証明書をインストールする方法について説明します。このプロセスには、証明書ファイルのダウンロードとアップロード、GlassFish サーバーでの証明書、証明書チェーン、秘密鍵の設定、およびインストールの検証が含まれます。

重要

このトピックでは、Linux オペレーティングシステム上の glassfish-4.1.2-web におけるデフォルトの domain1 コンテナーを例として使用します。デプロイメントの手順は、ご利用のオペレーティングシステムや GlassFish サーバーのバージョンによって異なる場合があります。ご不明な点がある場合は、ビジネス担当者にお問い合わせください

前提条件

  • Certificate Management Service から証明書を購入・申請し、その ステータス発行済み になっていること。詳細については、「公式証明書の購入」および「証明書のリクエスト」をご参照ください。

  • ドメイン名がサーバーに正しく解決されていること。

  • サーバーの管理者権限 (root アカウントや sudo 権限を持つアカウントなど) を持っていること。

操作手順

ステップ 1:SSL 証明書のダウンロード

  1. SSL 証明書管理 ページに移動し、デプロイする証明書を見つけて、以下の情報を確認します:

    1. 証明書のステータス:ステータスは 発行済み である必要があります。ステータスが まもなく期限切れ または 期限切れ の場合は、SSL 証明書を更新する必要があります。

    2. ドメイン名のバインド:この設定は、保護したいすべてのドメイン名と一致する必要があります。一致しない場合、HTTPS 経由でアクセスされたときにセキュリティ警告が表示されます。ドメイン名を追加または変更するには、「ドメイン名の追加と置換」をご参照ください。

      証明書が対象のドメイン名と一致するかどうかの確認

      証明書の ドメイン名のバインド には、複数の完全一致ドメイン名とワイルドカードドメイン名を含めることができます。各タイプのドメイン名のマッチングルールは次のとおりです:

      • 完全一致ドメイン名:指定されたドメイン名にのみ適用されます。

        • example.comexample.com にのみ適用されます。

        • www.example.comwww.example.com にのみ適用されます。

      • ワイルドカードドメイン名:その第 1 レベルのサブドメインにのみ適用されます。

        • *.example.comwww.example.coma.example.com などの第 1 レベルのサブドメインに適用されます。

        • *.example.com は、ルートドメイン example.coma.b.example.com などの複数レベルのサブドメインには適用されません。

      説明

      複数レベルのサブドメインに一致させるには、ドメイン名のバインド フィールドに、a.b.example.com のような完全なドメイン名、または *.b.example.com のような対応するワイルドカードドメイン名が含まれている必要があります。

  2. 対象の証明書の 操作 列で [その他] をクリックし、ダウンロード タブで、サーバータイプ[その他] の証明書をダウンロードします。

  3. ダウンロードした証明書パッケージを解凍します:

    • パッケージに証明書ファイル (.pem) と秘密鍵ファイル (.key) が含まれている場合は、両方のファイルを保存します。これらはデプロイメントに必要です。

    • パッケージに証明書ファイル (.pem) のみで秘密鍵ファイル (.key) が含まれていない場合は、ローカルに保存した秘密鍵ファイルを使用して証明書をデプロイする必要があります。

      説明

      証明書の申請時に OpenSSL や Keytool などのツールを使用して証明書署名リクエスト (CSR) ファイルを生成した場合、秘密鍵ファイルはローカルマシンにのみ保存されます。ダウンロードした証明書パッケージには秘密鍵は含まれません。秘密鍵を紛失した場合、証明書は使用できなくなります。再度 商用証明書を購入し、新しい CSR と秘密鍵を生成する必要があります。

ステップ 2:GlassFish サーバーへの証明書のインストール

  1. Linux サーバーにログインします。

    Alibaba Cloud サーバー

    以下の手順では、Alibaba Cloud の Elastic Compute Service (ECS) を例として説明します。他のタイプのサーバーについては、対応するプロダクトドキュメントをご参照ください。

    1. ECS コンソールにログインします。左上のコーナーで、対象の ECS インスタンスが配置されているリージョンを選択します。

    2. 左側のナビゲーションウィンドウで、インスタンスとイメージ > インスタンス を選択します。[インスタンス] ページで、対象の ECS インスタンスを見つけ、[操作] 列の [接続] をクリックします。

    3. 表示されたダイアログボックスで、ワークベンチ を選択し、今すぐサインイン をクリックします。

    4. 接続方法として [ターミナル] を選択し、必要な認証情報を入力して、画面の指示に従ってサーバーターミナルにログインします。詳細については、「ワークベンチを使用して ECS インスタンスにログイン」をご参照ください。

      説明

      セキュリティグループルールを追加するよう求める注意が表示された場合は、[今すぐ追加] をクリックします。

    他のクラウドプロバイダーのサーバー

    クラウドプロバイダーが提供するリモート接続機能を使用して、サーバーターミナルにログインします。

    非クラウドサーバー (物理サーバーや IDC ホストサーバーなど)

    ローカルコンピューターから SSH ツールを使用してサーバーターミナルにログインします。

    • Windows:コマンドプロンプト (cmd) または PowerShell で、ssh username@serverIP を実行します。ssh コマンドがサポートされていない場合は、PuTTYWinSCP などのサードパーティ製ソフトウェアを使用して接続できます。

    • macOS/Linux:内蔵のターミナルで、ssh username@serverIP を実行します。

    以下のコマンドの一部はオペレーティングシステムによって異なります。ご利用のサーバーのオペレーティングシステムに適用されるコマンドを選択してください。

    • RHEL/CentOS シリーズ:Alibaba Cloud Linux、Red Hat Enterprise Linux、CentOS、AlmaLinux、Rocky Linux、Anolis OS およびその派生 OS を含みます。

    • Debian/Ubuntu シリーズ:Debian、Ubuntu およびその派生 OS を含みます。

    オペレーティングシステムシリーズの特定方法

    サーバーターミナルで cat /etc/os-release を実行し、出力の ID_LIKEID の値を確認します:

    • ID_LIKE または ID に rhel または centos が含まれている場合、オペレーティングシステムは RHEL/CentOS シリーズに属します。

    • ID_LIKE または ID に debian または ubuntu が含まれている場合、オペレーティングシステムは Debian/Ubuntu シリーズに属します。

  2. セキュリティグループとファイアウォールでポート 443 を開きます。

    1. サーバーターミナルで次のコマンドを実行して、ポート 443 が開いているか確認します:

      RHEL/CentOS

      command -v nc > /dev/null 2>&1 || sudo yum install -y nc
      # <your_server_public_ip> をご利用のサーバーのパブリック IP アドレスに置き換えてください。
      sudo ss -tlnp | grep -q ':443 ' || sudo nc -l 443 & sleep 1; nc -w 3 -vz <your_server_public_ip> 443

      出力が Ncat: Connected to <your_server_public_ip>:443 であれば、ポート 443 は開いています。そうでなければ、セキュリティグループとファイアウォールでポート 443 を開いてください。

      Debian/Ubuntu

      command -v nc > /dev/null 2>&1 || sudo apt-get install -y netcat
      # <your_server_public_ip> をご利用のサーバーのパブリック IP アドレスに置き換えてください。
      sudo ss -tlnp | grep -q ':443 ' || sudo nc -l -p 443 & sleep 1; nc -w 3 -vz <your_server_public_ip> 443

      出力が Connection to <your_server_public_ip> port [tcp/https] succeeded! または [<your_server_public_ip>] 443 (https) open であれば、ポート 443 は開いています。そうでなければ、セキュリティグループとファイアウォールでポート 443 を開いてください。

    2. セキュリティグループの設定でポート 443 を開きます。

      重要

      サーバーがクラウドプラットフォームにデプロイされている場合、そのセキュリティグループが TCP ポート 443 でのインバウンドトラフィックを許可していることを確認してください。そうでなければ、サービスにアクセスできなくなります。以下の手順では Alibaba Cloud ECS を例として説明します。他のクラウドプラットフォームについては、公式ドキュメントをご参照ください。

      Elastic Compute Service (ECS) インスタンス ページに移動し、対象のインスタンス名をクリックしてインスタンス詳細ページに移動します。[セキュリティグループの詳細] セクションで、[アクション][許可][プロトコル][カスタム TCP][宛先 (現在のインスタンス)] を HTTPS (443)、[送信元][0.0.0.0/0 (任意)] に設定したルールを追加します。詳細については、「セキュリティグループルールの追加」をご参照ください。

    3. ファイアウォールでポート 443 を開きます。

      次のコマンドを実行して、システムでアクティブなファイアウォールサービスを特定します:

      if command -v systemctl >/dev/null 2>&1 && systemctl is-active --quiet firewalld; then
          echo "firewalld"
      elif command -v ufw >/dev/null 2>&1 && sudo ufw status | grep -qw active; then
          echo "ufw"
      elif command -v nft >/dev/null 2>&1 && sudo nft list ruleset 2>/dev/null | grep -q 'table'; then
          echo "nftables"
      elif command -v systemctl >/dev/null 2>&1 && systemctl is-active --quiet iptables; then
          echo "iptables"
      elif command -v iptables >/dev/null 2>&1 && sudo iptables -L 2>/dev/null | grep -qE 'REJECT|DROP|ACCEPT'; then
          echo "iptables"
      else
          echo "none"
      fi

      出力が none の場合は、これ以上の操作は不要です。それ以外の場合は、出力 (firewalldufwnftables、または iptables) に応じて以下の対応するコマンドを実行し、ポート 443 を開きます:

      firewalld

      sudo firewall-cmd --permanent --add-port=443/tcp && sudo firewall-cmd --reload

      ufw

      sudo ufw allow 443/tcp

      nftables

      sudo nft add table inet filter 2>/dev/null
      sudo nft add chain inet filter input '{ type filter hook input priority 0; }' 2>/dev/null
      sudo nft add rule inet filter input tcp dport 443 counter accept 2>/dev/null

      iptables

      sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT

      システム再起動後も iptables ルールが維持されるようにするには、次のコマンドを実行します:

      RHEL/CentOS
      sudo yum install -y iptables-services
      sudo service iptables save
      Debian/Ubuntu
      sudo apt-get install -y iptables-persistent
      sudo iptables-save | sudo tee /etc/iptables/rules.v4 >/dev/null
  3. GlassFish のインストールディレクトリに証明書を保存するためのディレクトリを作成します。

    1. GlassFish のインストールディレクトリに移動します。

      この例では、glassfish4 は /home ディレクトリにインストールされています。必要に応じてパスを調整してください。

      cd /home/glassfish4 
    2. cert という名前の証明書ディレクトリを作成します。

      mkdir cert
  4. 証明書ファイルと秘密鍵ファイルを cert フォルダにアップロードします。

    説明

    PuTTYXshellWinSCP などのリモートログインツールのローカルファイルアップロード機能を使用してファイルをアップロードできます。Alibaba Cloud Elastic Compute Service (ECS) インスタンスを使用している場合、ファイルのアップロード方法の詳細については、「ファイルのアップロードまたはダウンロード」をご参照ください。

  5. cert ディレクトリで、openssl コマンドを実行して、ダウンロードした PEM 証明書を PKCS12 形式に変換します。パスワードを changeit に設定し、ファイル名を mycert.p12、エイリアスを s1as に設定します。

    説明

    domain_name.pem と domain_name.key を、実際の証明書ファイルと秘密鍵ファイルに置き換えてください。

    changeit は GlassFish サーバーに組み込まれている証明書のデフォルトパスワードです。変更している場合は、実際の証明書パスワードを使用してください。

    openssl pkcs12 -export -in domain_name.pem -inkey domain_name.key -out mycert.p12 -passout pass:changeit -name s1as
  6. cert ディレクトリで、keytool コマンドを実行して mycert.p12 を JKS 形式に変換します。ファイル名を keystore.jks、エイリアスを s1as に設定します。

    keytool -importkeystore -destkeystore keystore.jks -srckeystore mycert.p12 -srcstoretype PKCS12 -alias s1as

    keytool コマンドを実行すると、keystore.jks のパスワード設定と mycert.p12 の元のパスワードの入力を求められます。両方に changeit と入力してください。

  7. cert ディレクトリで、keytool コマンドを実行して、ダウンロードした PEM 証明書を JKS 形式に変換します。ファイル名を cacerts.jks、エイリアスを s1as に設定します。

    domain_name.pem を実際の証明書ファイルに置き換えてください。

    keytool -importcert -trustcacerts -destkeystore cacerts.jks -file domain_name.pem -alias s1as

    keytool コマンドを実行すると、cacerts.jks のパスワード設定を求められます。パスワードを changeit に設定してください。

  8. cert ディレクトリで、以下のコマンドを実行して /home/glassfish4/glassfish/domains/domain1/config ディレクトリ内の cacerts.jkskeystore.jks ファイルを置き換えます。

    • cacerts.jks の置換

      cp ./cacerts.jks /home/glassfish4/glassfish/domains/domain1/config
    • keystore.jks の置換

      cp ./keystore.jks /home/glassfish4/glassfish/domains/domain1/config
  9. /home/glassfish4/glassfish/domains/domain1/config/domain.xml 設定ファイルを編集して、ポート番号を変更します。

    次の図に示すように network-listeners セクションを見つけます。例のようにポート番号を変更します。ポートを変更する前に、ポート 80 と 443 が使用されていないことを確認してください。

    image.png

    <network-listeners>
              <network-listener protocol="http-listener-1" port="80" name="http-listener-1" thread-pool="http-thread-pool" transport="tcp"></network-listener>
              <network-listener protocol="http-listener-2" port="443" name="http-listener-2" thread-pool="http-thread-pool" transport="tcp"></network-listener>
              <network-listener protocol="admin-listener" port="4848" name="admin-listener" thread-pool="admin-thread-pool" transport="tcp"></network-listener>
     </network-listeners>
  10. /home/glassfish4/glassfish/bin ディレクトリに移動し、次のコマンドを実行してサーバーを再起動します。

    ./asadmin restart-domain domain1

ステップ 3:インストールの検証

  1. Web ブラウザーで https://yourdomain のようにドメインに HTTPS でアクセスします。yourdomain は実際のドメインに置き換えてください。

  2. ブラウザーのアドレスバーに鍵アイコンが表示されれば、証明書は正常にデプロイされています。アクセスエラーが発生したり、鍵アイコンが表示されない場合は、ブラウザーのキャッシュをクリアするか、シークレット (プライバシー) モードで再試行してください。

    image

    バージョン 117 以降、Chrome のアドレスバーの image アイコンは新しい image アイコンに置き換えられました。このアイコンをクリックすると、鍵情報を表示できます。

説明

問題が解決しない場合は、「よくある質問」セクションでトラブルシューティングをご参照ください。

よくある質問

インストールまたは更新後、証明書が機能しない、または HTTPS にアクセスできないのはなぜですか?

一般的な原因は次のとおりです:

  • サーバーのセキュリティグループまたはファイアウォールでポート 443 が開かれていない。詳細については、「セキュリティグループとファイアウォールでポート 443 を開く」をご参照ください。

  • 証明書の ドメイン名のバインド に、アクセス中のドメイン名が含まれていない。詳細については、「証明書が対象のドメイン名と一致するかどうかの確認」をご参照ください。

  • GlassFish アプリケーションの設定ファイルを変更したが、GlassFish サービスを再起動していない。詳細については、「GlassFish サービスの再起動」をご参照ください。

  • 証明書ファイルが正しく置き換えられていないか、Flask の構成で証明書パスが正しく指定されていません。Flask アプリケーションの証明書構成と証明書ファイルの両方が最新かつ有効であることを確認してください。

  • 他のサービスでの証明書の欠落ドメインが Content Delivery Network (CDN)、Server Load Balancer (SLB)、Web Application Firewall (WAF) などのサービスを使用している場合、証明書はそれらのサービスにもインストールする必要があります。「複数の Alibaba Cloud サービスをトラフィックが通過する場合の証明書デプロイメント場所」をご参照の上、設定を完了してください。

  • 複数サーバーでのデプロイメントが不完全ドメインの DNS が複数のサーバーに解決される場合、証明書はすべてのサーバーにインストールする必要があります。

GlassFish にインストール済みの SSL 証明書を更新 (置換) するにはどうすればよいですか?

サーバー上の元の証明書ファイル (.pem および .key) をバックアップします。Certificate Management Service コンソールにログインし、新しい証明書ファイルをダウンロードしてサーバーにアップロードし、古いファイルを上書きします。パスとファイル名が同じであることを確認してください。最後に、GlassFish サービスを再起動して新しい証明書を有効にします。