皆様こんにちは、ネットワーク事業部の生方です。
2026年1月から、Let’s EncrypでのIPアドレスによる証明書の一般提供が開始されました。
従来、SSL/TLS証明書は「ドメイン名」に対して発行されるものが基本であり、IPアドレス単体に対して公開認証局が証明書を発行するケースはほとんどありませんでした。
これは認証局が「その利用者が本当にそのIPアドレスを管理しているか」を厳密に確認することが難しく、なりすましや誤発行のリスクが高かったためと言われています。
ですが、Let’s Encryptはセキュリティ強化と運用自動化を目的として「短期間証明書」の研究・実装を進め、その成果としてIPアドレス証明書の提供が可能になりました。
今回は、実際にLet’s EncryptでIPアドレスによる証明書を発行して、Webサイトに適用するまでを試してみたいと思います。
目次
短期証明書(Short-Lived Certificate)とは
IPアドレスで発行できる証明書は、160時間(約6日間)とごく短い期間に限定されています。このように、有効期限が数日~数週間程度に設定された証明書を「短期証明書(Short-Lived Certificate)」と言います。
通常のLet’s Encrypt証明書は90日間有効ですが、短期証明書はそれよりもさらに短い期間となります。一見すると不便なように思いますが、短期証明書が持つメリットも存在します。
- 証明書や秘密鍵の漏洩リスク低減
- 証明書の内容や技術の信頼性向上
- 証明書管理の自動化促進
こちらについては、私が以前に書いた別記事にて詳細がございますのでそちらをご覧ください。
SSL/TLS証明書の有効期間が「47日」まで短縮される!2029年までに必要な対策は!?
IPアドレス証明書のメリット
IPアドレスに対してSSL/TLS証明書を適用できることで、以下のようなメリットが生まれます。
ドメインが不要
ドメインを取得・管理する必要がなく、IPアドレスだけでHTTPS通信が可能になります。
例えば、以下のような用途でSSL/TLSの利用が可能になります。
- 開発・検証環境
- 社内限定システム
- 一時的な公開サーバー
即時利用が可能
DNS反映待ちが不要なため、サーバー構築後すぐに暗号化ができます。
クラウド環境などでIPが割り当てられた直後や、ドメインが未定の検証環境でも、安全な通信を確保できます。
IPアドレス証明書の注意点・制限事項
一方で、IPアドレス証明書には以下のような制約も存在します。
長期証明書は発行できない
現時点では、IPアドレス向けには短期証明書のみ対応しています。
そのため、更新を自動化させる運用が必須となります。
SEOやブランド面では不利
IPアドレスURLは、検索エンジン評価やユーザーの信頼性の面で、ドメインに比べて不利です。
あくまで検証環境や、利用用途の限られたシステムでのみ利用するためのものと考えるべきでしょう。
Let’s EncryptでのIPアドレス証明書の発行手順
Let’s Encryptの証明書を発行するためのACMEクライアントはいつくかあります。
私も通常はcertbotを多く使用しますが、IPアドレスによる証明書発行はまだ開発版でのリリース段階とのようで、今回はすでにIPアドレスでの発行に対応済みの「acme.sh」というクライアントを使用してみました。
テスト環境
OS:AlmaLinux 9.6
Webサーバー:Apache 2.4.62
先に、Apacheの設定でIPによるバーチャルホストを設定しておきます。
今回はテスト用に最小限の設定にします。
# vi /etc/httpd/conf.d/vhosts.conf
<VirtualHost *:80>
ServerName [IPアドレス]
DocumentRoot /var/www/html
<Directory "/var/www/html">
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
次に、「.acme.sh」をインストールします。以下のコマンドで、/root配下に必要なパッケージがインストールされます。
# curl https://get.acme.sh | sh
実際にSSLを発行してみましょう。Apacheを稼働したままなのでwebrootで発行します。
# /root/.acme.sh/acme.sh --issue --server letsencrypt -d [IPアドレス] --webroot /var/www/html --cert-profile shortlived
証明書は以下のパスに発行されます。
/root/.acme.sh/[IPアドレス]_ecc/
この配下に関連するファイルが作成されます。
| ファイル | 概要 |
| [IPアドレス].cer | 証明書本体 |
| [IPアドレス].conf | 発行に関する設定ファイル |
| [IPアドレス].csr | CSRファイル |
| [IPアドレス].csr.conf | CSRに関する設定ファイル |
| [IPアドレス].key | KEYファイル |
| ca.cer | 中間証明書 |
| fullchain.cer | 証明書+中間証明書 |
Apacheのバーチャルホストで、発行された証明書を参照します。
# vi /etc/httpd/conf.d/ssl.conf
<VirtualHost *:443>
ServerName [IPアドレス]
DocumentRoot /var/www/html
SSLEngine on
SSLCertificateFile "/root/.acme.sh/[IPアドレス]_ecc/[IPアドレス].cer"
SSLCertificateKeyFile "/root/.acme.sh/[IPアドレス]_ecc/[IPアドレス].key"
SSLCertificateChainFile "/root/.acme.sh/[IPアドレス]_ecc/ca.cer"
SSLProtocol -all +TLSv1.2 +TLSv1.3
SSLCipherSuite TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256:HIGH:!aNULL:!MD5:!3DES
SSLHonorCipherOrder on
<Directory "/var/www/html">
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
Apacheを再起動して設定反映します。
# apachectl configtest # apachectl restart
ブラウザからIPアドレスでアクセスします
https://[IPアドレス]/
httpsでページが表示できました。証明書情報を見ると、IPアドレスが6日程の証明書が発行されています。


.acme.shをインストールするのと同時に自動更新のコマンドもcronに登録されるようです。
実行時刻を調整しておく必要はありますが、短期間の証明書でも安心して利用できそうです。
# crontab -e 0 3 * * * "/root/.acme.sh"/acme.sh --cron --home "/root/.acme.sh" > /dev/null
終わりに
今回は、Let’s EncryptでIPアドレス証明書を発行する方法について解説しました。
使用できる状況は限られるかもしれませんが、検証環境などでも無料の証明書が気軽に使えるというのはメリットがあると思います。
現在は有料のSSL/TLS証明書についても有効期限短縮の方針が進んでおり、2026年3月から最長期限がこれまでの約1年から200日まで短縮され、2029年には47日まで短縮されることが決定しています。
そうなると今後は有料の証明書を利用していたサーバーでもLet’s Encryptにシフトしてくるケースが増えてくるかもしれませんし、企業認証SSL/TLSなどの特殊な目的の証明書との住み分けが進むことも考えられます。
今回ご紹介したIPアドレスの証明書だけでなく、SSL/TLS証明書の運用方法がここから数年で変わってくるかもしれませんので注目していきたいと思います。







![群馬の法人ITサポートサービス Wide Net[ワイドネット] 群馬の法人ITサポートサービス Wide Net[ワイドネット]](https://www.nedia.ne.jp/wp-content/themes/nedia/images/bnr_bt_widenet03.png)



