windows端末用
警告が出ない正しい証明書(オレオレ証明書)を作成して適用する
手順は
1.設定ファイルの作成(SAN対応)
2.証明書と秘密鍵の生成
3.Apacheの設定変更
4.Windowsへの証明書インストール(信頼させる)
5.ウイルスソフトの証明書横取りを回避(例はeset)
1.設定ファイルの作成(SAN対応)
サーバーを固定IP192.168.11.7として
・C:\xampp\apache\confにmy-cert.confを作成
以下をコピペ
[req]
default_bits = 2048
prompt = no
default_md = sha256
distinguished_name = dn
x509_extensions = v3_req
[dn]
C = JP
ST = Osaka
L = Suita
O = Local Dev
OU = Dev Department
CN = localhost
[v3_req]
subjectAltName = @alt_names
[alt_names]
DNS.1 = localhost
IP.1 = 127.0.0.1
IP.2 = 192.168.11.7
2:証明書と秘密鍵の生成
Windowsの検索バーに「cmd」コマンドプロンプトを起動
以下Ⅰ行づつ入力
cd C:\xampp\apache\conf
..\bin\openssl req -new -x509 -newkey rsa:2048 -sha256 -nodes -keyout server.key -days 3650 -out server.crt -config my-cert.conf
エラーがなくかつ C:\xampp\apache\confにserver.crt と server.keyが作成されていればOK
3:Apacheの設定変更 (httpd-ssl.conf)
Apacheに「新しく作った証明書を使うよ」と教えてあげます。
・フォルダ C:\xampp\apache\conf\extra
・httpd-ssl.confを開く
・DocumentRoot “C:/xampp/htdocs”
・ServerName localhost:443
・SSLCertificateFile “conf/server.crt”
・SSLCertificateFile “conf/server.crt”
上記を確認変更追加
4:Windowsに証明書を「信頼」させる
・フォルダ C:\xampp\apache\conf内の
・server.crtをダブルクリック
・「証明書のインストール」ボタンをクリックします。
・保存場所: 「ローカル コンピューター」を選択して「次へ」(管理者権限の確認が出たら「はい」)。
・証明書ストア: 「証明書をすべて次のストアに配置する」を選択し、「参照」ボタンを押します。
・「信頼されたルート証明機関」 を選択して「OK」を押します。(※ここが一番重要です)
・「次へ」→「完了」をクリック。「正しくインポートされました」と出れば成功です。
5.ウイルスソフトの横取りを回避(eset)
・このままだとEsetが入っていると「セキュリティ保護なし(または 注意)」
・この文字をクリックします。
・証明書情報にある「発行者 (Issuer): ESET SSL Filter CA」になっていると
証明書がESETのものになって設定した証明書と違っています。
・ESETのメイン画面
・[F5] キーを押して、「詳細設定」画面
・Webアクセスの保護
・除外されたIP 編集
192.168.11.7
127.0.0.01
●次にwindwosserver2025版 Android版
○前提環境:
クライアント: Android Chrome
OS: Windows Server 2025
XAMPP: v7.4 (V8でも同じ)
サーバーIP: 192.168.1.200
使用ポート: 81 (HTTPS)
手順1:Android対応の証明書構成ファイル作成
Androidにインストールして信頼させるためには、証明書に「私は認証局(CA)です」という情報と、「IPアドレス」の両方がです。
1.サーバーの C:\xampp\apache\conf フォルダを開きます。
2.新規テキストファイルを作成し、名前を android_san.conf に変更します
3.下記を貼り付けて保存
[req]
default_bits = 2048
distinguished_name = req_distinguished_name
req_extensions = req_ext
x509_extensions = v3_ca
prompt = no
[req_distinguished_name]
C = JP
ST = Osaka
L = Suita
O = Local Dev Server
OU = IT Dept
CN = 192.168.1.200
[req_ext]
subjectAltName = @alt_names
[v3_ca]
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid:always,issuer
basicConstraints = critical, CA:TRUE
keyUsage = critical, digitalSignature, cRLSign, keyCertSign
subjectAltName = @alt_names
[alt_names]
IP.1 = 192.168.1.200
basicConstraints = critical, CA:TRUE という行が、Androidに証明書をインストールするために必須の記述
手順2:証明書と秘密鍵の生成
以下のコマンドを1行ずつ実行してください。
DOSコマンドプロンプトを起動します。
cd C:\xampp\apache\conf
..\bin\openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout server.key -out server.crt -config android_san.conf
エラーが表示されなければ成功です。同フォルダに
server.crt(証明書)と
server.key(秘密鍵)が上書き作成されます。
手順3:Apacheの設定 (ポート81化)
XAMPPのSSL設定を、標準の443番から81番に変更し、新しい証明書を読み込ませます。
C:\xampp\apache\conf\extra\httpd-ssl.confをテキストエディタで開きます。- 以下の3箇所を修正してください。
修正箇所①:ポート番号の指定
Apache
# 変更前
Listen 443
# 変更後
Listen 81
修正箇所②:バーチャルホストの定義
Apache
# 変更前
<VirtualHost _default_:443>
# 変更後
<VirtualHost _default_:81>
修正箇所③:サーバー名
Apache
# 変更前
ServerName www.example.com:443 (または localhost:443)
# 変更後
ServerName 192.168.1.200:81
証明書のパスが以下になっているか確認します(通常はデフォルトでOK)。
Apache
SSLCertificateFile "conf/server.crt"
SSLCertificateKeyFile "conf/server.key"
ファイルを保存し、XAMPP Control Panelで Apacheを Stop → Start (再起動) します。
手順4:Windowsファイアウォールのポート開放
81ポートの解放
Windows Server 2025 + XAMPP 7.4 環境において、Android端末(Chrome)から https://192.168.1.200:81 に警告なしでアクセスするための「完全保存版」手順書を作成しました。
Androidのセキュリティ仕様(Android 11以降は特に厳格)に対応するため、「CA(認証局)フラグ」 を有効にした特別な証明書を作成する点が最大のポイントです。
【保存版】Windows Server 2025 XAMPP HTTPS化手順 (Android対応)
前提環境:
- OS: Windows Server 2025
- XAMPP: v7.4
- サーバーIP: 192.168.1.200
- 使用ポート: 81 (HTTPS)
- クライアント: Android Chrome
手順1:Android対応の証明書構成ファイル作成
Androidにインストールして信頼させるためには、証明書に「私は認証局(CA)です」という情報と、「IPアドレス」の両方が必要です。
- サーバーの
C:\xampp\apache\confフォルダを開きます。 - 新規テキストファイルを作成し、名前を
android_san.confに変更します。 - 以下の内容をすべてコピーし、貼り付けて保存してください。
Ini, TOML
[req]
default_bits = 2048
distinguished_name = req_distinguished_name
req_extensions = req_ext
x509_extensions = v3_ca
prompt = no
[req_distinguished_name]
C = JP
ST = Osaka
L = Suita
O = Local Dev Server
OU = IT Dept
CN = 192.168.1.200
[req_ext]
subjectAltName = @alt_names
[v3_ca]
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid:always,issuer
basicConstraints = critical, CA:TRUE
keyUsage = critical, digitalSignature, cRLSign, keyCertSign
subjectAltName = @alt_names
[alt_names]
IP.1 = 192.168.1.200
ポイント:
basicConstraints = critical, CA:TRUEという行が、Androidに証明書をインストールするために必須の記述です。
手順2:証明書と秘密鍵の生成
- コマンドプロンプトを起動します。
- 以下のコマンドを1行ずつ実行してください。
DOS
cd C:\xampp\apache\conf
DOS
..\bin\openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout server.key -out server.crt -config android_san.conf
エラーが表示されなければ成功です。同フォルダに server.crt(証明書)と server.key(秘密鍵)が上書き作成されます。
手順3:Apacheの設定 (ポート81化)
XAMPPのSSL設定を、標準の443番から81番に変更し、新しい証明書を読み込ませます。
C:\xampp\apache\conf\extra\httpd-ssl.confをテキストエディタで開きます。- 以下の3箇所を修正してください。修正箇所①:ポート番号の指定Apache
# 変更前 Listen 443 # 変更後 Listen 81修正箇所②:バーチャルホストの定義Apache# 変更前 <VirtualHost _default_:443> # 変更後 <VirtualHost _default_:81>修正箇所③:サーバー名Apache# 変更前 ServerName www.example.com:443 (または localhost:443) # 変更後 ServerName 192.168.1.200:81 - 証明書のパスが以下になっているか確認します(通常はデフォルトでOK)。Apache
SSLCertificateFile "conf/server.crt" SSLCertificateKeyFile "conf/server.key" - ファイルを保存し、XAMPP Control Panelで Apacheを Stop → Start (再起動) します。
手順4:Windowsファイアウォールのポート開放
Windows Server 2025の外部からポート81へのアクセスを許可します。
- Windowsのスタートメニューを右クリックし、「ファイル名を指定して実行」 を選択。
wf.mscと入力してEnter(「セキュリティが強化されたWindows Defenderファイアウォール」が開きます)。- 左側の 「受信の規則」 をクリックし、右側の操作パネルから 「新しい規則…」 をクリック。
- 以下の手順で進めます:
- 規則の種類: 「ポート」 → 次へ
- プロトコルとポート: 「TCP」、「特定のローカルポート」に
81と入力 → 次へ - 操作: 「接続を許可する」 → 次へ
- プロファイル: 「ドメイン」「プライベート」「パブリック」すべてチェックを入れる → 次へ
- 名前:
XAMPP Web 81などわかりやすい名前を入力 → 完了
注意: サーバーにESET等のセキュリティソフトを入れている場合は、そちらのファイアウォール設定でも「TCP 81」の受信を許可してください。
手順5:Android端末への証明書インストール(最重要)
最後に、作成した証明書をAndroidに信頼させます。
「CA証明書がインストールされました」と表示されれば完了です。ファイルの転送
作成した server.crt をAndroid端末に送ります(USB接続、Googleドライブ、自分宛てメールなど)。
インストールの実行
Androidの 「設定」 を開きます。
「セキュリティ」または「セキュリティとプライバシー」→「暗号化と認証情報」→ 「証明書のインストール」 をタップします。
「CA証明書」 を選択します(ここが重要です。「Wi-Fi証明書」や「ユーザー証明書」ではありません)。
「データが読み取られる可能性があります」という警告が出ますが、「インストール(はい)」 を選びます。
ダウンロードした server.crt を選択します。
接続確認
- Android端末をWi-Fiに接続します。
- Chromeブラウザを完全に終了(タスクキル)してから、再度開きます。
- アドレスバーに以下を入力してアクセスします。
https://192.168.1.200:81/shob/sho.php
これで、アドレスバーに鍵マークが表示され、警告画面が出ずにシステムが表示されます