XAMPPでSSLを有効にする


81

私はhttp://robsnotebook.com/xampp-ssl-encrypt-passwordsでできる限りこのガイドに従っています 。

ただし、httpsで始まるページを参照すると、Apacheサーバーは404 Object NotFoundと応答します。

どの設定が欠けていますか?助けてくれてありがとう。


チュートリアルリンクはhttpsではありませんが、httpaの作成方法を説明しています
Cholowao

回答:


105

答えが見つかりました。ファイル内のポート443のxampp\apache\conf\extra\httpd-ssl.confコメントSSL Virtual Host Contextページの下で、httpsが別のドキュメントルートで検索されることを意味します。

ドキュメントルートを同じものに変更するだけで、問題が修正されます。


9
これらの変更を有効にするには、Apacheを再起動する必要があることにも注意してください(SSLを使用して、を使用して動作させるには、SSLを無効にしてから再度有効にする必要がsudo /Applications/XAMPP/xamppfiles/xampp disablesslありsudo /Applications/XAMPP/xamppfiles/xampp enablesslます)。
wex 2011年

4
SSL用にポート443を転送することを忘れないでください。それが誰かを助けるかもしれないことを願っています=)
user1534664 2013年


1
この記事は私を大いに助けました、そしてクロムを再起動することを忘れないでください。shellcreeper.com/how-to-create-valid-ssl-in-localhost-for-xampp
Moh Arjmandi 2018

85

次のようにSSLを構成することもできますxampp/apache/conf/extra/httpd-vhost.conf

<VirtualHost *:443>
    DocumentRoot C:/xampp/htdocs/yourProject
    ServerName yourProject.whatever
    SSLEngine on
    SSLCertificateFile "conf/ssl.crt/server.crt"
    SSLCertificateKeyFile "conf/ssl.key/server.key"
</VirtualHost>

httpd-ssl.conf複数のプロジェクトがあり、複数のプロジェクトでSSLが必要な場合は、変更しない方がよいと思います。


example.com example2.com example3.comのようなホストとして複数のドメインがあり、example2.comにsslを追加したので、同じ手順に従ってhttpd-vhost.confを変更しましたが、期待どおりに機能しません。example2.comにアクセスすると、example.comのWebサイトが表示されます。
SrikanthGopi18年

12

XAMPPの場合は、次の手順を実行します。

  1. G:\ xampp \ apache \ conf \ extra \ httpd-ssl.conf "

  2. 'DocumentRoot'テキストを検索します。

  3. DocumentRoot DocumentRoot "G:/ xampp / htdocs"をDocumentRoot "G:/ xampp / htdocs / projectname"に変更します。


10

xampp / apache / conf / extra /httpd-vhost.confでSSLを構成します

http

<VirtualHost *:80>
    DocumentRoot "C:/xampp/htdocs/myproject/web"
    ServerName www.myurl.com

    <Directory "C:/xampp/htdocs/myproject/web">
        Options All
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

https

<VirtualHost *:443>
    DocumentRoot "C:/xampp/htdocs/myproject/web"
    ServerName www.myurl.com
    SSLEngine on
    SSLCertificateFile "conf/ssl.crt/server.crt" 
    SSLCertificateKeyFile "conf/ssl.key/server.key"
    <Directory "C:/xampp/htdocs/myproject/web">
        Options All
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

server.crtとserver.keyのパスが正しく指定されていることを確認してください。正しく指定されていないと、これは機能しません。

httpd.confでvhostを有効にすることを忘れないでください

# Virtual hosts
Include etc/extra/httpd-vhosts.conf

2

私はついにこれを自分のホストしているxamppwindows10サーバーのWebサイトで動作させることができました。つまり、南京錠はsslとして登場しました。2020年11月からxamppバージョンを使用しています。

  1. certbot.eff.orgに行きました。彼らのホームページソフトウェア[apache]とシステム[windows]から選択されました。次に、次のページにあるcertbotソフトウェアをダウンロードしてCドライブにインストールしました。

  2. 次に、コマンドラインから[Windows Startでcmdを開き、cmdを開く前に右クリックしてcmdをadminとして実行します]上記のCertbotページからコマンドを入力しました。つまり、system32に移動しました--C:\ WINDOWS \ system32> certbot certonly --standalone

  3. 次に、プロンプトに従い、ドメイン名を入力しました。これにより、C:\ Certbotyourwebsitedomainフォルダーにcert1.pemおよびkey1.pemとして証明書が作成されました。cmdウィンドウはこれらがどこにあるかを教えてくれます。

  4. 次に、これらを取得して、名前をcert1.pemからmydomainnameまたはshorter + cert.pemに変更し、domainnameまたはshorter + key.keyについても同じにしました。これらをそれぞれC:\ xampp \ apache \ ssl.crtフォルダーとssl.keyフォルダーにコピーしました。

  5. 次に、G:\ xampp \ apache \ conf \ extra \ httpd-vhostsに対して次のように入力しました。

<VirtualHost *:443>
    DocumentRoot "G:/xampp/htdocs/yourwebsitedomainname.hopto.org/public/" ###NB My document root is public.  Yours may not be.  Or could have an index.php page before /public###
    ServerName yourwebsitedomainnamee.hopto.org 
    <Directory G:/xampp/htdocs/yourwebsitedomainname.hopto.org>
        Options Indexes FollowSymLinks Includes ExecCGI
        AllowOverride All
        Require all granted
    </Directory>
    ErrorLog "G:/xampp/apache/logs/error.log"
    CustomLog "G:/xampp/apache/logs/access.log" common
    SSLEngine on
SSLCertificateFile "G:\xampp\apache\conf\ssl.crt\abscert.pem"
SSLCertificateKeyFile "G:\xampp\apache\conf\ssl.key\abskey.pem"
</VirtualHost>  
     
  1. 次に、G:\ xampp \ apache \ conf \ extra \ httpd-ssl.confに移動し、上記のアドバイスに従って実行しました。この投稿を読むまで、私はこの重要なステップを何日も逃しました。ありがとうございました!つまり入った
<VirtualHost _default_:443>
DocumentRoot "G:/xampp/htdocs/yourwebsitedomainnamee.hopto.org/public/"
###NB My document root is public.  Yours may not be.  Or could have an index.php page before /public###
SSLEngine on
SSLCertificateFile "conf/ssl.crt/abscert.pem"
SSLCertificateKeyFile "conf/ssl.key/abskey.pem"
CustomLog "G:/xampp/apache/logs/ssl_request.log" \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
</VirtualHost>  

注1。www.noip.comを使用してドメイン名を登録しました。注2。むしろ、私はそれを機能させることができなかったので、彼らに私にssl証明書を与えさせようとします、代わりに上記が機能しました。注3私はnoipDUCソフトウェアを使用して、個人的にホストしているWebサイトをnoipと同期させています。注4。xamppで変更を加えるたびに、xamppサーバーを停止および起動することが非常に重要です。xamppコンソールを起動する代わりに何らかの理由でxamppが失敗した場合は、xamppを起動してみてください。これにより、バグを修正できる問題が発生します。これらをすばやくコピーして、note.txtに貼り付けます。


1

Mac OS(catalinaまたはmojave)を使用していて、XAMPP forMacでHTTPS / SSLを有効にしたい場合は、仮想ホストを有効にして、XAMPPに含まれているデフォルトの証明書を使用する必要があります。httpd-vhosts.confファイルに新しい仮想ホストを追加します。

<VirtualHost *:443>
    ServerAdmin webmaster@localhost.com
    DocumentRoot "/Users/your-user/your-site"
    ServerName your-site.local
    SSLEngine on
    SSLCertificateFile "etc/ssl.crt/server.crt" 
    SSLCertificateKeyFile "etc/ssl.key/server.key"
    <Directory "/Users/your-user/your-site">
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Require all granted
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

0

ここにWindows用のより良いガイドがあります:

https://shellcreeper.com/how-to-create-valid-ssl-in-localhost-for-xampp/

基本的な手順:

  1. これを使用して、ローカルドメインのSSL証明書を作成します。詳細については、上記のリンク https://gist.github.com/turtlepod/3b8d8d0eef29de019951aa9d9dcba546https://gist.github.com/turtlepod/e94928cddbfc46cfbaf8c3e5856577d0を 参照してください

  2. この証明書をWindows(信頼されたルート証明機関)にインストールします。詳細については、上記のリンクを参照してください。

  3. Windowsホスト(C:\ Windows \ System32 \ drivers \ etc \ hosts)にサイトを追加します。例: 127.0.0.1 site.test

  4. XAMPP conf(C:\ xampp \ apache \ conf \ extra \ httpd-vhosts.conf)にサイトを追加します。例:

     <VirtualHost *:80>
        DocumentRoot "C:/xampp/htdocs"
        ServerName site.test
        ServerAlias *.site.test
     </VirtualHost>
     <VirtualHost *:443>
        DocumentRoot "C:/xampp/htdocs"
        ServerName site.test
        ServerAlias *.site.test
        SSLEngine on
        SSLCertificateFile "crt/site.test/server.crt"
        SSLCertificateKeyFile "crt/site.test/server.key"
     </VirtualHost>
    
  5. Apacheとブラウザを再起動すると、完了です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.