ラボ > サーバ:Xampp

xamppでhttpsを有効化

サーバにあわせてローカル環境で使っているxamppもhttpsに対応させる必要がでてきた

作成日:2023-11-15, 更新日:2023-11-15

基本

  1. ブラウザでlocalhostにアクセス
  2. xampp\apache\conf\httpd.conf
  3. xampp\apache\conf\extra\httpd-ssl.conf
  4. Apache再起動

ブラウザでlocalhostにアクセス

ブラウザで「https://localhost」にアクセスすると自己署名証明書が生成されるっぽい

xampp\apache\conf\httpd.conf

▼下記2つがコメントされているならコメント解除

LoadModule ssl_module modules/mod_ssl.so
Include conf/extra/httpd-ssl.conf

xampp\apache\conf\extra\httpd-ssl.conf

▼下記2つの確認

SSLCertificateFile "conf/ssl.crt/server.crt"
SSLCertificateKeyFile "conf/ssl.key/server.key"

Apache再起動

Apacheを再起動して、ブラウザでアクセス

バーチャルホストを使っている場合

▼私の場合…現在のバーチャルホストの設定 : 「\xampp\apache\conf\extra\httpd-vhosts.conf」

<VirtualHost *:80>
    ServerAlias *.*.localhost
    VirtualDocumentRoot "C:\Users\xxx\Desktop\_sites\%1\d\%2"
    <Directory "\Users\xxx\Desktop\_sites">
        Options Indexes FollowSymLinks Includes ExecCGI
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

HTTPS対応

  • バーチャルホストの設定を複製して、portの「80」を「443」、SSLのトコを増やす
  • 元のportの「80」のほうに「Redirect permanent」を追加

▼「\xampp\apache\conf\extra\httpd-vhosts.conf」の修正

<VirtualHost *:80>
    ServerAlias *.*.localhost
    VirtualDocumentRoot "C:\Users\xxx\Desktop\_sites\%1\d\%2"
    <Directory "\Users\xxx\Desktop\_sites">
        Options Indexes FollowSymLinks Includes ExecCGI
        AllowOverride All
        Require all granted
    </Directory>
    Redirect permanent / https://*.*.localhost/
</VirtualHost>

<VirtualHost *:443>
    ServerAlias *.*.localhost
    VirtualDocumentRoot "C:\Users\xxx\Desktop\_sites\%1\d\%2"
    <Directory "\Users\xxx\Desktop\_sites">
        Options Indexes FollowSymLinks Includes ExecCGI
        AllowOverride All
        Require all granted
    </Directory>

    SSLEngine on
    SSLCertificateFile "パス/サーバー証明書.crt"
    SSLCertificateKeyFile "パス/秘密鍵.key"
</VirtualHost>

「パス/サーバー証明書.crt」は「apache\conf\ssl.crt\server.crt」、「パス/秘密鍵.key」は「apache\conf\ssl.key\server.key」だと思うので、コレらを絶対PATHで指定