apache - 設定 - xampp ssl 証明書




localhostでApacheにHTTPSを許可するにはどうすればよいですか? (9)

私はlocalhost上のApache上で自己署名証明書を使ってHTTPSを設定するように求められましたが、実際にはどうしたらいいですか? 私はまったく考えていない。


tl; dr

ssh -R youruniquesubdomain:80:localhost:3000 serveo.net

そしてあなたのローカル環境は、 https: //youruniquesubdomain.serveo.netからアクセスできます

Serveoが最高です

  • サインアップはありません。
  • インストールしない。
  • HTTPSを持っています。
  • アクセス可能な世界。
  • カスタム修正プログラム、サブドメインを指定できます。
  • 自己ホストすることができるので、独自のドメインを使用することができ、サービスが停止しても将来の証明になります。

私はこのサービスを見つけたとき信じられませんでした。 それはすべてを提供し、使用するのが最も簡単です。 すべての問題に対してこのような簡単で痛みのないツールがあれば...


Webサーバーとの間で送受信される情報のセキュリティを保護するために、クライアントとサーバー間の通信の暗号化を有効にすることをお勧めします。 これはしばしばSSLと呼ばれます。

だから、Apache2上で自己署名入りの証明書を使ってHTTPSを設定しましょう。 私はあなたが従うべき手順を列挙します:

  • あなたのマシンにapache2 web-serverをインストールしてください。 Linuxマシンの場合は、端末を開いて入力してください

sudo apt-get install apache2

  • 正常にインストールされた後、コマンドを実行してapache2サービスの状態を確認します

sudo service apache2 status

出力するはずです

  • ブラウザに移動して入力します。

http:// localhost:80

このようなapache2のデフォルトページを取得したことを確認してください。

  • Web接続を暗号化するには、CA(証明機関)からの証明書が必要です。または、自己署名証明書を使用できます。 次のコマンドを使用して自己署名証明書を作成しましょう。

openssl req -x509 -newkey rsa:2048 -keyout mykey.key -out mycert.pem -days 365 -nodes

以下のように情報を記入してください。

mykey.keymycert.pemは現在の作業ディレクトリに作成する必要があります。

  • 一般的な場所で証明書と鍵を移動すればいいですし、apache2 Webサーバーが簡単に見つけられるでしょう。 では、以下のコマンドを実行してみましょう

sudo cp mycert.pem / etc / ssl / certs

sudo cp mykey.key / etc / ssl / private

  • サーバーでSSLモードを有効にしましょう

sudo a2enmod ssl

このように出力されるはずです

  • 上記で生成した自己署名証明書と鍵を使用するようにapache2を構成しましょう。

sudo vi /etc/apache2/sites-available/default-ssl.conf

これらの2行を見つけて、certとkeyのパスに置き換えてください。

初期

最後の

  • サイトを有効にする

cd / etc / apache2 / sites-available /

sudo a2ensite default-ssl.conf

  • apache2サービスを再起動する

sudo service apache2 restart

  • HTTPS上のapache2 Webサーバーを確認します。 ブラウザをもう一度開いて入力してください

https://localhost/

私たちが自己署名入りの証明書でサーバーを構成したので、あなたが見ようとしているページが安全でないという警告とともに、このような出力を出すべきです。

  • HTTPSエンドポイントでapache2を設定して、 拡張 - > 例外の追加 - > セキュリティ例外の確認をクリックすると、デフォルトのページが再び表示されます。


macOSを使用している場合は、ローカルのWeb開発環境を設定するための素晴らしいガイドですhttps://getgrav.org/blog/macos-sierra-apache-multiple-php-versions 3部目https://getgrav.org/blog/macos-sierra-apache-ssl Andy Millerは、自己署名証明書を使ってApacheを設定する方法を説明しています。

これが重要なコマンドです:

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout server.key -out server.crt

しかし、あなたが従う必要があるいくつかの手順がありますので、それを確認し、幸運をチェック! ;)


ここでこれを行う最も簡単な方法です

まず、これらのserver.crtserver.keyファイル(添付ファイルで検索)をあなたのapache / conf / sslディレクトリにコピーしてserver.crt

httpd.confファイルを開いて次の行を追加します

Listen 80
Listen 443

NameVirtualHost *:80
NameVirtualHost *:443

<VirtualHost *:443>
    DocumentRoot "d:/wamp/www"  #your wamp www root dir
    ServerName localhost
    SSLEngine on
    SSLCertificateFile "d:/wamp/bin/apache/Apache2.4.4/conf/ssl/server.crt"
    SSLCertificateKeyFile "d:/wamp/bin/apache/Apache2.4.4/conf/ssl/server.key"
</VirtualHost>

これはApache 10を搭載したWindows 10上で動作します。

1 - これをC:/Apache24/conf/httpd.conf一番下に追加してください

Listen 443
<VirtualHost *:443>
    DocumentRoot "C:/Apache24/htdocs"
    ServerName localhost
    SSLEngine on
    SSLCertificateFile "C:/Apache24/conf/ssl/server.crt"
    SSLCertificateKeyFile "C:/Apache24/conf/ssl/server.key"
</VirtualHost>

2 - C:/Apache24/conf/sslフォルダにserver.crtファイルとserver.keyファイルを追加します。 これらの2つのファイルを見つけるには、このページの他の回答を参照してください。

それでおしまい!


これは仕事Ubuntuでなければなりません、Apache2と同様のミント

いいガイドですので、これに従ってください

https://www.digitalocean.com/community/tutorials/how-to-create-a-ssl-certificate-on-apache-for-ubuntu-14-04

あなたのssl.confをこれに似たようなものにするか

<VirtualHost _default_:443>
        ServerAdmin [email protected]
        ServerName localhost
        ServerAlias www.localhost.com

        DocumentRoot /var/www


    SSLEngine on
    SSLCertificateFile /etc/apache2/ssl/apache.crt
    SSLCertificateKeyFile /etc/apache2/ssl/apache.key

がんばって。

linuxerのためのこのヘルプが欲しい


別の簡単な方法は、UbuntuでPython Serverを使用することです。

  1. ターミナルで次のコマンドを使用してserver.xmlを生成します。

    openssl req -new -x509 -keyout server.pem -out server.pem -days 365 -nodes

    注: opensslインストールされていると仮定します。

  2. 以下のコードを、サーバーを実行するディレクトリのsimple-https-server.pyという名前のファイルに保存します。

    import BaseHTTPServer, SimpleHTTPServer
    import ssl
    
    httpd = BaseHTTPServer.HTTPServer(('localhost', 4443), SimpleHTTPServer.SimpleHTTPRequestHandler)
    httpd.socket = ssl.wrap_socket (httpd.socket, certfile='./server.pem', server_side=True)
    httpd.serve_forever()
    
  3. ターミナルからサーバーを実行します。

    python simple-https-server.py

  4. 次のページをご覧ください:

    https://localhost:4443

その他のメモ

  1. simple-https-server.py ポートを変更することができます

    httpd = BaseHTTPServer.HTTPServer(('localhost', 4443), SimpleHTTPServer.SimpleHTTPRequestHandler)

  2. 上の同じ行でlocalhostをあなたのIP変更することができます

    httpd = BaseHTTPServer.HTTPServer(('10.7.1.3', 4443), SimpleHTTPServer.SimpleHTTPRequestHandler)

    ネットワークに接続されているすべてのデバイスのページにアクセスします。 これは、「モバイルでHTML5 GeoLocation APIをテストする必要があり、Chromeがセキュリティで保護された接続でのみAPIを制限する」などの場合に非常に便利です。

Gist: https://gist.github.com/dergachev/7028596 : https://gist.github.com/dergachev/7028596

http://www.piware.de/2011/01/creating-an-https-server-in-python/


実際にはかなり簡単です。あなたはopensslのインストールが便利であると仮定します。 (あなたはどんなプラットフォームですか?)

あなたがlinux / solaris / mac os / xを使っていると仮定すると、 VanのApache SSL / TLS mini-HOWTOは、私がここで再現しない優れたウォークスルーを持っています。

ただし、要約は、自己署名証明書を作成する必要があることです。 おそらく開発用のローカルホスト用のApacheを実行しているので(つまり公開Webサーバーではない)、自己署名証明書を信頼でき、ブラウザがあなたに投げる警告を無視することができます。


私はちょうどこれを試みました - 私はWindows上の私のローカルホストApacheでいくつかの開発コードをテストする必要がありました。 これはWAAAYよりも難しいものでした。 しかし、ここでは、多くのヘアプリングの後に動作するように手順があります...

Apacheのインストールにopenssl.exeが付属していることがわかりました。 コピーがない場合は、ダウンロードする必要があります。 私のコピーはApache2\binフォルダにありました。これは私が下でどのように参照するかです。

ステップ:

  1. Apache confフォルダへの書き込み権限があることを確認してください
  2. Apache2\confフォルダでコマンドプロンプトを開く
  3. タイプ
    ..\bin\openssl req -config openssl.cnf -new -out blarg.csr -keyout blarg.pem
  4. 以下を除くすべての質問を空白のままにすることができます。

    • PEMパスフレーズ:「パスワード」などの一時的なパスワード
    • 共通名:サーバーのホスト名

  5. それが完了したら、次のように入力します。
    ..\bin\openssl rsa -in blarg.pem -out blarg.key

  6. 次のように入力して、自己署名証明書を生成します。
    ..\bin\openssl x509 -in blarg.csr -out blarg.cert -req -signkey blarg.key -days 365

  7. Apacheのconf\httpd.confファイルを開き、SSLモジュールが有効になっていることを確認してください。 - この行の先頭にハッシュがないはずです。
    LoadModule ssl_module modules/mod_ssl.so

  8. Apacheのいくつかのインストールでは、SSL設定を別のファイルに置きます。 その場合は、SSL confファイルが含まれていることを確認してください。 私の場合は、この行のコメントを外さなければなりませんでした:
    Include conf/extra/httpd-ssl.conf

  9. SSLの設定httpd-ssl.conf私は次の行を更新しなければなりませんでした:

    • 更新
      SSLSessionCache "shmcb:C:\Program Files (x86)\Zend\Apache2/logs/ssl_scache(512000)"

      SSLSessionCache "shmcb:C:/Progra\~2/Zend/Apache2/logs/ssl_scache(512000)"
      (パスの中の括弧はモジュールを混乱させるので、それらをエスケープする必要があります)
    • DocumentRoot - これをWebファイルのフォルダに設定する
    • ServerName - サーバーのホスト名
    • SSLCertificateFile "conf/blarg.cert"
    • SSLCertificateKeyFile "conf/blarg.key"

  10. Apacheを再起動します。

  11. ブラウザにhttps://localhost/読み込みhttps://localhost/

うまくいけば、あなたはこれまでこれを作った。 この投稿を他の有用な情報で更新してください。

(Neil Obremskiと彼の有益なarticleスクリーンショット - 現在はかなり古いですが)





localhost