ローカルApache開発サーバー(localhost)でTLSを使用する方法

ローカルApache開発サーバー(localhost)でTLSを使用する方法

私のライブサーバーをミラーリングしますが、ファイアウォールの背後にある開発環境を設定しようとしています。

最近まで、私の共有ホスティングサイトはTLS / SSLを提供していなかったため、問題/オプションではありませんでしたが、暗号化は標準であるため、開発環境を再構成する必要があります。

以前は、ライブサーバーと同じドメイン名(example.comなど)とディレクトリ構造を使用して、私のワークステーション(Webminが構成されている)のコンテナでUbuntuサーバーを実行していました。私のWebブラウザがライブサーバーの代わりにローカルサーバーにアクセスできるように、/ etc / hostsファイルにexample.comのエントリを追加しました。これにより、費用がかかるだけでなく、エラーが発生する可能性がある「移行プラグイン」を使用せずにWordPressサイトを完全に展開し、簡単なコピー操作でライブサーバーに展開できます。

私の問題は、WordPressサイトを実行/テストするためにTLS操作をローカルで正しくシミュレートする必要があることです。

「ライブ」サイトexample.comは、「Let's Encrypt」ワイルドカード証明書を使用しています(したがって、ライブサイトを操作する以外は、いかなる方法でもLet's Encryptを使用できません)。しかし、開発のためには、独自の暗号化証明書を持つことは完全に許可されています。 。特定の種類の署名証明書があり、それが十分な場合は、ブラウザに「例外を追加」できます。ファイアウォール外の誰かが開発/ステージングサイトにアクセスできるようにする必要はありません。サイトはプラグインとテーマのアップデートを取得するために「呼び出し」することができます。

私が見たすべての例では、Let's Encrypt設定またはlocalhost設定について説明しましたが、サーバーを「スプーフィング」する方法については説明しませんでした。

可能ですか?

ベストアンサー1

最も簡単な方法は、自己署名証明書を生成してWebサーバーに追加することです。そして、警告メッセージを避けるためにブラウザに追加することを忘れないでください。

確認できますこここれを行う方法

単一のコマンドでこれを実行できます。

openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365

秘密鍵をパスワードで保護したくない場合は、-nodes(DESなしの略語)を追加することもできます。それ以外の場合は、「最低4文字」のパスワードを入力するように求められます。

daysパラメーター(365)を任意の数字に置き換えて、有効期限に影響を与えることができます。その後、国名などの項目を入力するように求められますが、Enterキーを押してデフォルト値をそのまま適用します。

証明書の内容に関する質問を表示したくない場合は、-subj '/CN=localhost'を追加してください(localhostを目的のドメインに置き換えてください)。

自己署名証明書は、以前にブラウザにインポートされていない限り、サードパーティの確認を受けません。より強力なセキュリティが必要な場合は、認証局(CA)によって署名された証明書を使用する必要があります。

おすすめ記事