web-dev-qa-db-ja.com

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

LocalhostのApacheに自己署名証明書を使ってHTTPSを設定するように依頼されましたが、実際にはどうすればよいのでしょうか。まったくわかりません。

185
KennC.

私はちょうどこれを試みました - 私はWindows上の私のlocalhost 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パスフレーズ:「password」などの一時パスワード
    • 一般名:サーバーのホスト名

  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/をロードしてみてください。

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

(スクリーンショットはNeil Obremskiと彼の役に立つ article - 今はかなり時代遅れになっています。)

126
Simon East

これにはngrok( https://ngrok.com/ )を使います。 ngrokはコマンドラインツールで、localhost用のトンネルを作成します。 httpとhttpsの両方の接続が作成されます。ダウンロードした後、次のコマンドを実行する必要があります。

ngrok http 80

(バージョン2では、構文はngrok http 80です。バージョン2では、任意のポートをトンネリングできます。)

数秒後、2つのURLが表示されます。

http://a_hexadecimal_number.ngrok.com
https://a_hexadecimal_number.ngrok.com

今、両方のURLはlocalhostを指しています。

55
sudip

これが最も簡単な方法です。

まず、これらの server.crtserver.key ファイル(添付ファイル内を検索)をApache/conf/sslディレクトリにコピーしてください。

それから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>
23
Anil Gupta

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

それでは、Apache2で自己署名証明書を使ってHTTPSを設定しましょう。私があなたが従うべきであるステップをリストするつもりです:

  • あなたのマシンにApache2ウェブサーバをインストールしてください。 Linuxマシンの場合は端末を開いてタイプ

Sudo apt-get Apache2をインストールしてください。

  • インストールが成功したら、コマンドを実行してApache2サービスのステータスを確認してください。

SudoサービスApache2の状況

出力するはずです

Apache2 service status

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

http:// localhost:8

Apache2のデフォルトページがこのようになっていることを確認してください。

default output of Apache2

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

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

以下に示すようにそれに応じて情報を記入してください。

create self signed certificate using openssl

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

  • 証明書と鍵を共通の場所に移動すると、Apache 2 Webサーバーがそれらを見つけるのが簡単になります。それでは、以下のコマンドを実行しましょう。

Sudo cp mycert.pem/etc/ssl/certs

Sudo cp mykey.key/etc/ssl/private

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

Sudo a2enmod ssl

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

enable ssl

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

Sudo vi /etc/Apache2/sites-available/default-ssl.conf

この2行を見つけて、あなたの証明書とキーパスに置き換えてください。

頭文字

default-conf

決勝

after config changes

  • サイトを有効にする

cd/etc/Apache2/sites-available /

Sudo a2ensite default-ssl.conf

  • Apache2サービスを再起動します

SudoサービスApache2の再起動

  • HTTPSでApache2 Webサーバを確認してください。もう一度ブラウザを開いて、

https:// localhost:44

自己署名証明書を使用してサーバーを構成しているため、表示しようとしているページは安全ではないという警告とともに、このようなメッセージが出力されるはずです。

enter image description here

  • HTTPSエンドポイントを使用してApache2を設定しました。おめでとうございます。advanced - >をクリックして例外を追加します - >セキュリティ例外を確認すると、再びデフォルトページが表示されます。

page after adding exception

9
Dinesh Kumar

たとえば、Windows + Apache 2.4です。

  1. httpd.confファイルでssl_moduleのコメントを外します。

    LoadModule ssl_module modules/mod_ssl.so
    
  2. httpd.confファイルの80ポートと同じように443ポートをリッスンします。

    Listen 80
    Listen 443
    
  3. コメントを外すhttpd.confファイルに仮想ホストを含​​めます。

    # Virtual hosts
    Include conf/extra/httpd-vhosts.conf
    
  4. conf/extra/httpd-vhosts.confにVirtualHostを追加します

    <VirtualHost _default_:443>
        DocumentRoot "D:/www"  #your site directory path
        ServerName localhost
        #ServerAlias localhost.com localhost2.com
        SSLEngine on
        SSLCertificateFile "${SRVROOT}/conf/ssl/server.crt"
        SSLCertificateKeyFile "${SRVROOT}/conf/ssl/server.key"
        <Directory "D:/www">
            Options -Indexes +FollowSymLinks +ExecCGI
            AllowOverride All
            Require all granted
        </Directory>
    </VirtualHost>
    

ポート番号の443行とSSL......行だけが通常のhttp configと異なります。

設定ファイルを保存してApacheサービスを再起動します。それなら https:// localhost / にアクセスしてください。

Webブラウザは最初は安全ではないと警告してくるので、そのまま続行を選択してください。

9
cuixiping

Opensslをインストールすれば便利です。 (どのプラットフォームを使っていますか?)

Linux/solaris/mac os/xを使っていると仮定すると、 VanのApache SSL/TLS mini-HOWTO には再現できない優れたチュートリアルがありますここに。

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

8
Pete Clark

これはUbuntu、Mintは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のためにこの助けを願っています

4
ackuser

とても簡単です。

以下のコマンドを実行するだけです

Sudo a2enmod ssl

Sudo service Apache2 restart

Sudo a2ensite default-ssl.conf

それで終わりです。

SSLを強制する(常にhttpsを使用する)場合は、ファイルを編集します。

Sudo nano /etc/Apache2/sites-available/000-default.conf

そしてこの一行を追加する

<VirtualHost *:80>
        . . .

        Redirect "/" "https://your_domain_or_IP/"

        . . .
</VirtualHost>

その後、再起動してください

Sudo service Apache2 restart
2
Rifaideen

2019アップデート

私はこれに苦労し、Chromeはセキュリティを更新してSubject Alternative Name回答として投稿されたときには必要なかったため、多くの投稿にはありません。 WAMPは既にインストールされていると仮定しています。

ステップ1

ダウンロード OpenSSL Light and install


STEP 2(オプション)

この部分はオプションですが、後でコマンドを実行しやすくします。この手順をスキップする場合は、コマンドを実行するopenssl.exeへのフルパスを指定する必要があります。設定する場合は、環境変数のopenssl.exeパスを更新します。

環境変数->システム変数->パス->編集->新規-> c:\ Program Files\OpenSSL-Win64\bin


STEP 3

c:/wamp64/bin/Apache/apache2.4.27(your version number)/conf/ディレクトリに“ key”という名前のフォルダーを作成します。

CAの構成ファイルを作成しますMyCompanyCA.cnf(内容に合わせて変更できます) :

[ req ]
distinguished_name  = req_distinguished_name
x509_extensions     = root_ca

[ req_distinguished_name ]
countryName             = Country Name (2 letter code)
countryName_min         = 2
countryName_max         = 2
stateOrProvinceName     = State or Province Name (full name)
localityName            = Locality Name (eg, city)
0.organizationName      = Organization Name (eg, company)
organizationalUnitName  = Organizational Unit Name (eg, section)
commonName              = Common Name (eg, fully qualified Host name)
commonName_max          = 64
emailAddress            = Email Address
emailAddress_max        = 64

[ root_ca ]
basicConstraints            = critical, CA:true

Webサーバー証明書の拡張機能構成ファイルMyCompanyLocalhost.extを作成します。

subjectAltName = @alt_names
extendedKeyUsage = serverAuth

[alt_names]
DNS.1   = localhost
DNS.2   = mycy.mycompany.com


ステップ4

これらのコマンドを指定された順序で実行して、キーと証明書を生成します。

openssl req -x509 -newkey rsa:2048 -out MyCompanyCA.cer -outform PEM -keyout MyCompanyCA.pvk -days 10000 -verbose -config MyCompanyCA.cnf -nodes -sha256 -subj "/CN=MyCompany CA"
openssl req -newkey rsa:2048 -keyout MyCompanyLocalhost.pvk -out MyCompanyLocalhost.req -subj /CN=localhost -sha256 -nodes
openssl x509 -req -CA MyCompanyCA.cer -CAkey MyCompanyCA.pvk -in MyCompanyLocalhost.req -out MyCompanyLocalhost.cer -days 10000 -extfile MyCompanyLocalhost.ext -sha256 -set_serial 0x1111

結果として、MyCompanyCA.cerMyCompanyLocalhost.cerおよびMyCompanyLocalhost.pvkファイル。


ステップ5

MyCompanyCA.cerの下にインストールします

コントロールパネル->ユーザー証明書の管理->信頼されたルート証明機関->証明書

MyCompanyLocalhost.cerをインストールするには、ダブルクリックします。


STEP 6

c:/wamp64/bin/Apache/apache2.4.27(your version number)/conf/httpd.confを開き、コメントを外します(#を削除します)次の3行:

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


STEP 7

c:/wamp64/bin/Apache/apache2.4.37/conf/extra/httpd-ssl.confを開き、すべてのパラメーターを以下に示すものに変更します。

Directory "c:/wamp64/www"
DocumentRoot "c:/wamp64/www"
ServerName localhost:443
ServerAdmin [email protected]
ErrorLog "c:/wamp64/bin/Apache/apache2.4.27/logs/error.log"
TransferLog "c:/wamp64/bin/Apache/apache2.4.27/logs/access.log"
SSLCertificateFile "c:/wamp64/bin/Apache/apache2.4.27/conf/key/MyCompanyLocalhost.cer"
SSLCertificateKeyFile "c:/wamp64/bin/Apache/apache2.4.27/conf/key/MyCompanyLocalhost.pvk"
SSLSessionCache "shmcb:c:/wamp64/bin/Apache/apache2.4.27/logs/ssl_scache(512000)"
CustomLog "c:/wamp64/bin/Apache/apache2.4.27/logs/ssl_request.log" \
          "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

注:これはトリッキーな部分です。このファイルの編集中に小さな間違いをすると、SSLは機能しません。編集する前にコピーを作成してください。


STEP 8

WampとChromeを再起動します。ローカルホストが安全になりました: https:// localhost

1
CodeWarrior

tl; dr

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

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

Serveo が一番

  • 申し込みなし.
  • インストールしません。
  • HTTPSがあります。
  • 世界中からアクセス可能。
  • カスタム修正サブドメインを指定できます。
  • あなたはそれを自己ホストすることができるので、あなたはあなた自身のドメインを使うことができ、そしてサービスがダウンしたとしても、将来の証拠になることができます。

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

1
totymedli

CentOSのためのこの手引きは従うのが簡単で、たった約5分でした: https://wiki.centos.org/HowTos/Https

ここでは各ステップについて詳しく説明しませんが、主なステップは次のとおりです。

1.)Apache用のopensslモジュールをインストールします(まだインストールされていない場合)。

2.)自己署名証明書を生成します

- これで、 https:// localhost にアクセスできたはずです。

3.)必要に応じて仮想ホストを設定します

1
KayakinKoder

これはWindows 10とApache24で動作しました。

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 - server.crtおよびserver.keyファイルをC:/Apache24/conf/sslフォルダーに追加します。この2つのファイルを見つけるためにこのページの他の答えを見なさい。

それでおしまい!

1
jogi99

MacOSを使用している人のために、これは素晴らしいガイドです https://getgrav.org/blog/macos-sierra-Apache-multiple-php-versions を設定することローカルWeb開発環境を立ち上げます。その第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

しかし、あなたが従う必要があるいくつかのステップがあるので、それをチェックして頑張ってください! ;)

0
tiomno

@CodeWarriorの非常に良い答えに何かを追加したいと思います。これはChromeで完全に動作しますが、Firefoxには追加の手順が必要です。

FirefoxはWindowsがデフォルトで行うCA証明書をプッシュしないため、about:configに進み、security.enterprise_roots.enabledまで下にスクロールして、trueに変更する必要があります。

これで、Firefoxでも証明書が有効であると見なされます。

もちろん、これは開発目的のみです。これは、sslの信頼が重要なセキュリティ上の懸念事項であり、この設定を変更するのは、その意味がわかっている場合のみです。

0
RDev

ここではWindows 10上でApacheを実行しています。 Simonによるトップの回答で作成された証明書をChromeに信頼させることはできませんでした。私がやってしまったのは、PowerShellを使って自己署名証明書を生成することでした。

ステップ1 - 自己署名証明書を生成する

PowerShell
New-SelfSignedCertificate -DnsName "localhost" -CertStoreLocation "cert:\LocalMachine\My" 1

ステップ2 - 証明書の設定とエクスポート

Windowsの検索バーにCertificatename__と入力し、提案されているManage Computer Certificatesコントロールパネル項目をクリックします。

表示される証明書管理プログラム(certlm)から、Personal >> Certificatesの下にlocalhostname__キーが表示されているはずです。

この証明書をTrusted Root Certification Authoritiesにコピーしました。それが必要かどうか私にはわからないという点で私は正直に言うでしょう。

新しくコピーした証明書を選択して、それをダブルクリックします(localhost証明書)。証明書モーダルからDetailsname__タブをクリックし、次にCopy to File...ボタンをクリックします。

これにより、エクスポートウィザードが起動します。秘密キーをエクスポートすることを選択し、[次へ]をクリックします。私もExport all extended propertiesを選びました(これも必要なのかどうかはわかりません)。単純なパスワード(passname__)とデフォルトの暗号化を使用することにしました。エクスポート先のフォルダを選択してファイルに名前を付けます。必要に応じていつでもファイルを移動して名前を変更することができます。簡単にするために、それをあなたのApacheインストールの下のあなたのconfフォルダにコピーし(私の場合ではC:\Apache\conf)そしてファイルにmyCertname__という名前を付けましょう(結果のファイルは.pfxファイルになります)

ステップ3 - Apacheで使用するために.pfxファイルを変換する

ここから私は基本的にチュートリアルに従いました ここ 、しかしそのサイトがダウンした場合のためにここに(私達の設定のために微調整された)指示を加えます。

/Apache/conf/フォルダでコマンドプロンプトを開きます
次のコマンドを実行します。注:これは、Apacheのbinname__フォルダーにopenssl.exeがあることを前提としています。ルートフォルダ(これは標準/デフォルトであるべきです)

..\bin\openssl pkcs12 -in myCert.pfx -nocerts -out privateKey.pem

これでパスワードの入力を求められますので、.pfxファイルをエクスポートしたときにステップ2で入力したものを入力してください。私の場合、これはpassname__です。 PEMフレーズと同じパスワードをもう一度入力して確認しました。これでconfフォルダにprivateKey.pemという新しいファイルが作成されます。

そして実行します

..\bin\openssl rsa -in privateKey.pem -out private.pem

ここでもパスワード(Enter pass phrase for privateKey.pem:)の入力を求められますので、privateKey.pemに設定したパスワードを使用してください。 (私の場合はpassname__)
writing RSA keyというメッセージと、private.pemフォルダーにconf/という新しいファイルが表示されます。 これはあなたのSSLCertificateKeyFileになります。

今すぐ対応するサーバー証明書を生成します。を実行

..\bin\openssl pkcs12 -in myCert.pfx -clcerts -nokeys -out EntrustCert.pem

これでパスワードの入力を求められますので、.pfxファイルをエクスポートしたときにステップ2で入力したものを入力してください。それを入力すると、confname__フォルダーにEntrustCert.pemというファイルができます。 これはあなたのSSLCertificateFileです

ステップ4 - httpd.confを設定する

サーバーのキーと証明書として作成された新しいファイルを使用してください。ドキュメントのルートを必ずファイルのある場所に変更してください。

ServerName localhost:80
Protocols h2 h2c http/1.1
<Directory />
    Options FollowSymLinks
    AllowOverride All
</Directory>

<VirtualHost _default_:443>
  ServerName localhost:443
  DocumentRoot ${SRVROOT}/htdocs/MYSITE
  SSLEngine on
  SSLCertificateFile "${SRVROOT}/conf/EntrustCert.pem"
  SSLCertificateKeyFile "${SRVROOT}/conf/private.pem"
</VirtualHost>

httpd.confにもあります。

  • LoadModule ssl_module modules/mod_ssl.soがコメントアウトされていないことを確認してください(前に#がありません)
  • LoadModule socache_shmcb_module modules/mod_socache_shmcb.soのコメントを外します
  • LoadModule http2_module modules/mod_http2.soのコメントを外します
  • Include conf/extra/httpd-ssl.confのコメントを外します(注:ファイルがある場所であることを確認してください)

Curlとopen sslのライブラリも含まれています。

# load curl and open ssl libraries
LoadFile "C:\php\libeay32.dll"
LoadFile "C:\php\ssleay32.dll"
LoadFile "C:\php\libssh2.dll"

これらのモジュールは必要ではないはずですが、私はそれらを有効にしていることに注意します。
LoadModule rewrite_module modules/mod_rewrite.so
LoadModule filter_module modules/mod_filter.so
LoadModule deflate_module modules/mod_deflate.so

ステップ5 - 設定httpd-ssl.conf

extra/フォルダーのconf/フォルダーに、httpd-ssl.confというファイルがあります。

5a。 DocumentRootnameを変更する__ - DocumentRootname__をデフォルトからファイルがあるディレクトリに変更します。

5b。 ServerNamenameを変更する__ - ServerNamename__をデフォルト(www.example.com:443のようなもの)からlocalhost:443に変更してください

5c。 SSLCertificateFilenameを変更します__
SSLCertificateFilename__をデフォルト(${SRVROOT}/conf/server.crt)から${SRVROOT}/conf/EntrustCert.pemに変更します

5c。 SSLCertificateKeyFilenameを変更します__
SSLCertificateKeyFilename__をデフォルト(${SRVROOT}/conf/server.key)から${SRVROOT}/conf/private.pemに変更します

まとめて、<VirtualHost _default_:443>タグに。

#   General setup for the virtual Host
DocumentRoot "${SRVROOT}/htdocs/MYSITE"
ServerName localhost:443
ServerAdmin [email protected]
ErrorLog "${SRVROOT}/logs/error.log"
TransferLog "${SRVROOT}/logs/access.log"

#   SSL Engine Switch:
#   Enable/Disable SSL for this virtual Host.
SSLEngine on

#   Server Certificate:
#   Point SSLCertificateFile at a PEM encoded certificate.  If
#   the certificate is encrypted, then you will be prompted for a
#   pass phrase.  Note that a kill -HUP will Prompt again.  Keep
#   in mind that if you have both an RSA and a DSA certificate you
#   can configure both in parallel (to also allow the use of DSA
#   ciphers, etc.)
#   Some ECC cipher suites (http://www.ietf.org/rfc/rfc4492.txt)
#   require an ECC certificate which can also be configured in
#   parallel.
SSLCertificateFile "${SRVROOT}/conf/EntrustCert.pem"
#SSLCertificateFile "${SRVROOT}/conf/server-dsa.crt"
#SSLCertificateFile "${SRVROOT}/conf/server-ecc.crt"

#   Server Private Key:
#   If the key is not combined with the certificate, use this
#   directive to point at the key file.  Keep in mind that if
#   you've both a RSA and a DSA private key you can configure
#   both in parallel (to also allow the use of DSA ciphers, etc.)
#   ECC keys, when in use, can also be configured in parallel
SSLCertificateKeyFile "${SRVROOT}/conf/private.pem"
#SSLCertificateKeyFile "${SRVROOT}/conf/server-dsa.key"
#SSLCertificateKeyFile "${SRVROOT}/conf/server-ecc.key"

Apacheを再起動します

これらの変更を加えた後、あなたはApacheを再起動し、セキュリティの警告や小さな南京錠なしで https:// localhost にナビゲートできるはずです。

Secured localhost

これが誰かに役立つことを願っています! ????

出典:
1。) 自己署名証明書の作成に関するAuri Rahimzadehの回答
2。) Entrust Datacard - Apacheサーバーで使用するために.pfxを変換するにはどうすればいいですか?

0
StephanieQ

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

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

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

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

  2. 以下のコードを、サーバを実行したいanyディレクトリの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が制限される」などの場合に非常に便利です。

要旨: https://Gist.github.com/dergachev/7028596

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

0
Asim K T