ローカルサーバはxampp
ローカルサイトに認証書を発行しSSL(https)
ローカルサイトのSSL化
PCから、PC内のローカルサイトにSSL通信するのには
・ windowsのhostsに、IPアドレスとドメイン名を登録し、ドメイン名でIPアドレスに接続できるように設定(opemsslのCNで認証発行)
・ xamppのhttps-sslのvairtualHostにてssl通信に必要な情報を取得
・ opensslで認証書を発行するSAN(subjectAltName)を指定して、opensllコマンドで暗号化キーを発行して、認証書を発行。
これでローカルPCからローカルPC上に作ったサイトにはHTTPSで通信できる。
流れ
ローカルPCのブラウザから、FQDNを指定してローカルサイトに接続を試みると、
・ windows/..hostsに設定したドメイン名とIPアドレスを確認
・ Xamppのvirtualhostに接続されて、公開キーと暗号キーを受ける
・ openssl-san.cnfのCN(certification name)と照合し認証書を確認
・ virtuarlHostのdocumentrootに接続する
ってことになるのかな?
スマホからローカルPC上のローカルサイトに接続
一週間以上試行錯誤で悩み続けた
このローカルサイトにスマホで接続を試みる場合には、php artisan serve --host IPアドレス
によって、ローカルPCのIPアドレスで接続できるように設定して接続しますが、SSL通信にはなりません。
SSLは、FQDNに対して行われるようで、IPアドレスにSSLの設定はできない仕様のようです。
したがって、スマホでローカルサイトに接続するのに、認証書を発行したFQDNを使ってアクセスできるようにするか、IPアドレスでローカルPCに接続したときに、IPアドレスをFQDNに変換するような手続きが必要になるのかな?
今後の検討(継続)
・ php artisan serve --host IPadress
・ スマホ(ローカルPCのIPアドレスで)接続実行
・ ルーター(IPアドレスから接続先をルーティング)
・ PC
・ xampp(virtualHost)
・ laravel/pubulic ローカルサイト
この流れの中で
・ ローカルサーバーで、ローカルサイトに認証書を発行(ローカルサイトにFQDN付与)
・ artisan IPアドレス でローカルPCに接続できるように設定
・ スマホでIPアドレス接続
・ ルーターを通じてPCに接続
・ どこかでIPアドレスをFQDNに変換
・ PCからxamppのvirtualHostに接続
・ xampp-virtualHostから、スマホに公開鍵発行
・ スマホは公開鍵から暗号化キーを取得して通信を開始
とできるようになればいいのかな?
ずっと思考錯誤で疲れたですわ。
スマホでローカルサイトにSSL通信で接続したい!