2026年7月7日
2026年7月7日
ポート 8443 を開放する手順|ufw・firewalld・クラウドのセキュリティグループと、Nginx / Apache で 8443 を待ち受ける設定
ポート 8443 を開放するには、OS のファイアウォールで 8443/tcp を許可し、クラウドならセキュリティグループにも受信ルールを足し、サーバーソフトに 8443 で待ち受ける設定を入れる、の 3 か所をそろえます。どれか 1 つが欠けると外からつながりません。
結論を先にまとめます。
- ufw なら
sudo ufw allow 8443/tcp、firewalld ならsudo firewall-cmd --permanent --add-port=8443/tcpのあと--reload、の 1 行ずつで OS 側は済みます。 - VPS・クラウドでは OS の外側にセキュリティグループ(パケットフィルター)があり、そこにも TCP 8443 の受信許可が必要です。
- 8443 で HTTPS を出すには、Nginx は
listen 8443 ssl;、Apache はListen 8443と<VirtualHost *:8443>を書き、証明書を指定します。 - 管理画面など公開する必要が無いものは、送信元 IP を絞って開けます。「開ける」より「誰に開けるか」のほうが大事です。
- つながらないときの切り分けは「ポート 8443 とは|ブロックされてつながらないときの切り分け手順」に分けています。
開放の前に決めること
| 決めること | 選択肢 | 目安 |
|---|---|---|
| 誰に開けるか | 全体(0.0.0.0/0)/ 特定の IP / VPN 内だけ | 管理画面は特定 IP か VPN。公開サービスだけ全体 |
| 何を 8443 で出すか | アプリケーションが直接 TLS / Nginx・Apache が TLS を終端 | 証明書の更新を一元化できる Web サーバー終端が扱いやすい |
| 443 で出せないか | 443 が空いていれば 443 を使う | 閲覧者側のネットワークで止められにくいのは 443 |
公開サービスで 443 が空いているなら、8443 を開けるより 443 で提供したほうが、閲覧者の環境による遮断を避けられます。8443 を使うのは、443 を別のサービスが使っている、管理用と公開用を分けたい、といった理由があるときです。
手順 1: OS のファイアウォールで 8443/tcp を許可する
ufw(Ubuntu / Debian)
sudo ufw allow 8443/tcp
sudo ufw status verbose
特定の送信元だけに開けるときは、送信元を指定します。
sudo ufw allow from 203.0.113.10 to any port 8443 proto tcp
firewalld(RHEL 系: AlmaLinux / Rocky Linux / Fedora)
sudo firewall-cmd --permanent --add-port=8443/tcp
sudo firewall-cmd --reload
sudo firewall-cmd --list-all
--permanent を付けないと再起動で消えます。付けた場合は --reload で反映します。送信元を絞るときは rich rule を使います。
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="203.0.113.10" port port="8443" protocol="tcp" accept'
sudo firewall-cmd --reload
nftables を直接使っている場合
sudo nft list ruleset
で現在のルールを確認し、input チェインに tcp dport 8443 accept を追加します。設定ファイル(Debian 系は /etc/nftables.conf)に書いて sudo systemctl reload nftables で反映します。ufw や firewalld が動いている環境では、nftables を直接編集せず、それぞれのコマンドで操作してください。
手順 2: クラウドのセキュリティグループで許可する
OS 側で開けても、クラウドの仮想ネットワーク側で止まっていれば届きません。各サービスで「受信(インバウンド)、TCP、ポート 8443、送信元」のルールを追加します。
| サービス | 設定する場所 | 送信元の書き方 |
|---|---|---|
| AWS EC2 | セキュリティグループ → インバウンドルール | CIDR(0.0.0.0/0 または自分の IP /32) |
| AWS Lightsail | インスタンス → ネットワーキング → IPv4 ファイアウォール | 「任意の IP アドレス」か指定 IP |
| Azure | ネットワークセキュリティグループ → 受信セキュリティ規則(優先度は小さい数が先) | CIDR またはサービスタグ |
| Google Cloud | VPC ネットワーク → ファイアウォール(上り、ターゲットタグ) | 送信元 IPv4 範囲 |
| 国内の VPS 各社 | コントロールパネルのパケットフィルター | 許可ポートの追加 |
AWS の CLI では次のように追加できます(sg-xxxx は対象のセキュリティグループ ID)。
aws ec2 authorize-security-group-ingress --group-id sg-0123456789abcdef0 \
--protocol tcp --port 8443 --cidr 203.0.113.10/32
手順 3: SELinux の確認(RHEL 系)
SELinux が有効な RHEL 系では、Web サーバーが待ち受けられるポートが http_port_t として決まっています。8443 は既定でこの一覧に含まれていますが、確認しておきます。
sudo semanage port -l | grep http_port_t
一覧に 8443 が無い環境(別の型に割り当てられている場合など)では追加します。
sudo semanage port -a -t http_port_t -p tcp 8443
semanage が無ければ policycoreutils-python-utils パッケージを入れます。
手順 4: サーバーソフトで 8443 を待ち受ける
Nginx
既存の 443 の server ブロックと同じ証明書を使い、listen を 8443 にします。
server {
listen 8443 ssl;
listen [::]:8443 ssl;
http2 on;
server_name example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
http2 on; は Nginx 1.25.1 以降の書き方で、それより前は listen 8443 ssl http2; と書きます(2026年11月現在、主要ディストリビューションの Nginx は新しい書き方に対応しています)。設定後は sudo nginx -t で文法を確認し、sudo systemctl reload nginx で反映します。
Apache
ports.conf(Debian 系)または httpd.conf / ssl.conf(RHEL 系)に Listen 8443 を追加し、仮想ホストを書きます。
Listen 8443
<VirtualHost *:8443>
ServerName example.com
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem
DocumentRoot /var/www/example
</VirtualHost>
sudo apachectl configtest(RHEL 系は httpd -t)で確認し、sudo systemctl reload apache2(RHEL 系は httpd)で反映します。mod_ssl が有効でない場合は Debian 系で sudo a2enmod ssl を実行します。
アプリケーションが直接 TLS を扱う場合
Tomcat のように自身で TLS を扱うソフトでは、そのソフトの設定(Tomcat は server.xml の Connector port="8443")で証明書を指定します。証明書の更新をそのソフトごとに行う必要があるため、台数が増えるなら Nginx / Apache で終端して内部へ転送する形のほうが運用は楽です。
手順 5: 外から確認する
サーバーの外(自分の PC など)から確認します。
nc -zv example.com 8443
curl -I https://example.com:8443/
nc が succeeded と出て、curl が HTTP/2 200 や HTTP/1.1 200 を返せば開放できています。TCP はつながるのに curl が TLS のエラーを返すなら、証明書か server_name の不一致を確認します。Windows からは PowerShell の Test-NetConnection example.com -Port 8443 で TCP の到達を確認できます。
WordPress の観点
WordPress サイトを 8443 で出すのは、ステージング環境や、本番とは別の管理用の入口を作るときに限るのが無難です。
- 本番サイトは 443 で提供し、WordPress の「サイトアドレス(URL)」もポート無しの URL にしておきます。8443 をサイトアドレスにすると、閲覧者側で 8443 が遮断されるだけでサイトが見えなくなります。
- ステージングを
https://example.com:8443/で動かす場合、WordPress 側の URL 設定にはポート付きの URL を入れ、検索エンジンに拾われないよう「検索エンジンがサイトをインデックスしないようにする」を有効にします。 - 管理画面を 8443 で別に出す構成では、送信元 IP を絞るか Basic 認証を併用します。Nginx の設定例は「Nginx でベーシック認証を設定する方法」を参照してください。
よくある質問
ufw で許可したのにつながりません
クラウドのセキュリティグループ、Nginx / Apache の listen、SELinux の 3 つを順に確認します。サーバー自身から curl -vk https://127.0.0.1:8443/ が通るなら、OS より外側(セキュリティグループ)か閲覧者側のネットワークが原因です。
8443 を開けると安全性は下がりますか
開けたポートの先で動くサービスの分だけ、攻撃を受ける面が増えます。公開する必要が無い管理画面なら、送信元 IP を自分の拠点や VPN に限定し、不要になったら閉じます。ポート番号を変えること自体はセキュリティ対策ではありません。
IPv6 でも開ける必要がありますか
サーバーに IPv6 アドレスがあり、DNS に AAAA レコードがあるなら必要です。ufw は IPv6 も同時に扱います(/etc/default/ufw の IPV6=yes)。Nginx は listen [::]:8443 ssl; を追加します。
443 と 8443 の両方で同じサイトを出せますか
出せます。Nginx の server ブロックに listen 443 ssl; と listen 8443 ssl; を並べるだけです。ただし検索エンジンには 443 の URL だけを正規 URL として伝えます。
まとめ
- 8443 の開放は、OS のファイアウォール、クラウドのセキュリティグループ、サーバーソフトの
listenの 3 か所をそろえる作業です。 - ufw は
allow 8443/tcp、firewalld は--permanent --add-port=8443/tcpと--reload、RHEL 系は SELinux のhttp_port_tも確認します。 - 公開する必要が無いものは送信元を絞り、公開サイトは 443 で提供して 8443 は管理用やステージングに留めます。
関連記事
- ポート 8443 とは|HTTPS の代替ポートの用途と、ブロックされてつながらないときの切り分け手順
- ポート 8080 で動くアプリを 80 / 443 で公開する方法|ポート番号の変更とリバースプロキシ
- Nginx でベーシック認証を設定する方法
- Azure NSG の優先度の仕組みと設定手順
参考: ufw – Ubuntu Server documentation、firewalld – Using and configuring firewalld(Red Hat)、Nginx – Configuring HTTPS servers、Apache mod_ssl、AWS – Security group rules
更新履歴: 2026-11-09 全面改訂(ufw・firewalld・nftables・SELinux・クラウドのセキュリティグループ・Nginx / Apache の設定を一つの手順にまとめ、公開範囲の考え方と WordPress での注意を追加)。この記事はワードプレス博士(ライトセンド株式会社)が運営しています。