SSL 証明書の使用についてはここでは説明しません。SSL 証明書を導入する必要がある友人は、すでに理解しているはずです。早速本題に入りましょう。 Apache をインストールします。Apache をダウンロードしてインストールするときは、SSL バージョンの Apache インストーラをダウンロードしてください。 最初のステップは、もちろん証明書を取得することです。 Tencent Cloud に申請しましたが、わずか数分で完了しました。 ドメイン名の検証に合格したら、証明書をダウンロードするだけです 1_root_bundle.crt (証明書チェーン ファイル) 2_www.domain.com_cert.crt (証明書ファイル) 3_www.domain.com.key (秘密鍵ファイル) 環境に証明書を配置します。apache/cert に配置しました。cert フォルダは自分で作成しました。 2番目のステップは、サーバー環境の構成を変更することです まず、[LoadModule ssl_module modules/mod_ssl.so] という行を見つけます。先頭に # がある場合は削除します。ない場合は変更する必要がないので、そのままにしておきます。 2番目: [Include conf/extra/httpd-ssl.conf] の行を見つけます。先頭に # がある場合は削除します。ない場合は変更する必要がないので、そのままにしておきます。 #次の3行は証明書ファイルの設定です。パスと対応するファイル名を変更するように注意してください。混乱しないようにしてください。 SSL証明書ファイル "/phpStudy/PHPTutorial/Apache/cert/2_tktx.nichousha.cc.crt" SSL証明書キーファイル "/phpStudy/PHPTutorial/Apache/cert/3_tktx.nichousha.cc.key" SSL証明書チェーンファイル "/phpStudy/PHPTutorial/Apache/cert/1_root_bundle.crt" cart+f 次の名前を1つずつ検索して置き換えます もう一つは、サイト ディレクトリを変更することです。今日、私はこの小さな落とし穴に足を踏み入れました。 ファイル内の多くのサイトパスが間違っているため、修正する必要があります SSLオプション +標準環境変数 </ファイル一致> <ディレクトリ "C:\phpStudy\WWW"> たとえば、WWW のパスは \phpStudy\PHPTutorial\WWW です。私は PHPSTUDY の新しいバージョンを使用しているので、パスは \phpStudy\PHPTutorial\WWW です。間違った場所を検索して、一括で変更するだけです。 ステップ3 301リダイレクトを設定する .htaccessを使用します リライトベース / 書き換え条件 %{SERVER_PORT} !^443$ 書き換えルール ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R=301] この段落を追加するだけです。 全体のプロセスは比較的簡単です。ご質問がある場合は、メッセージを残してください。コメントはメールで送信されますので、すぐに返信します。 以下は他のネットユーザーからのコメントです 1. 準備 1) Apache + SSL を設定する前に、次の操作を行う必要があります。 Apache をインストールします。Apache をダウンロードしてインストールするときは、SSL バージョンの Apache インストーラをダウンロードしてください。 ssl に必要なファイルは次の場所にあります。 [Apacheインストールディレクトリ]/modules/ mod_ssl.so [Apache インストールディレクトリ]/bin/ openssl.exe、libeay32.dll、ssleay32.dll、openssl.cnf [Apacheインストールディレクトリ]/conf/ openssl.cnf SSL 証明書を作成します (一部の統合環境には openssl が付属していますが、bin ディレクトリには openssl.cnf がありません。conf の下の openssl.cnf を bin ディレクトリにコピーする必要がありますが、全体的な原則は同じです) 2) Windows 環境では、まず OpenSSL 環境変数を設定する必要があります。 コマンドset OPENSSL_CONF=..\conf\openssl.cnfを実行します。 CMD を開き、Apache インストール ディレクトリの下の bin ディレクトリに移動します。 ステップ1 : コマンド 注: RSA キー ペアのデフォルトの長さは 1024 で、これは 2 の整数乗です。キーの長さが長いほど、セキュリティが高くなります。 キー server.key が生成されたら、手順 2 に進みます。 ステップ 2: 署名されていない server.csr を生成し、bin ディレクトリでコマンドの実行を続行します。
注意: -config .openssl.cnf パラメータを追加しないと、「.../ssl/openssl.cnf から構成情報をロードできません」というメッセージが表示されることがよくあります。 次に、一連のパラメータを入力するよう求められます。 国名 (2 文字コード) [AU]:CN ISO 国コード (2 文字のみサポートされます) 州または県名(フルネーム)[Some-State]:ZJ Province 地域名(例:市) []:HZ 市 組織名(例:会社): 組織単位名(例:セクション) []:yiban 組織単位名 共通名(例:あなたの名前)[]: localhost:80 証明書を申請するためのドメイン名(httpd.confのserverNameと一致させることが推奨されます) メールアドレス []:[email protected] 管理者メールアドレス 証明書リクエストとともに送信される次の「追加」属性を入力してください。チャレンジパスワード []: 1234Exchange キー オプションの会社名 []:CD 注意: 共通名は httpd.conf の serverName と一致している必要があります。一致していないと Apache が起動しない可能性があります。 (Apache を起動すると、エラー メッセージが表示されます: server RSA certificate CommonName (CN) `Kedou' はサーバー名と一致しません。) 署名された server.csr 構成を完了します。 ステップ3: サーバー証明書ファイル server.crt に署名します。 bin/ディレクトリでコマンドを実行します。
注: これは、手順 1 と 2 のキーと証明書要求を使用して、証明書 server.crt を生成します。-days パラメータは、証明書の有効期間を日数で示します。x509 は、生成された証明書が X.509 証明書であることを示します。 ステップ4: bin ディレクトリで、server.crt、server.csr、server.key ファイルを見つけて、それらを Apache conf ディレクトリに切り取ります。 ステップ5: httpd.conf を設定します。Apache conf\extra ディレクトリの httpd_ssl.conf ファイルは SSL 設定に関するもので、httpd.conf の一部です。 httpd.conf に次の 2 行を追加します (ファイルの前にコメント "#" 記号がある場合は削除します)。
ステップ6: (注:同じ部分は省略) conf\extraディレクトリで、httpd_ssl.confを編集します。
(上記2種類はご自身で監視してください。どちらかがサーバーの起動に失敗する場合は、もう一方に切り替える必要があります) SSLセッションキャッシュタイムアウト 300
最も可能性の高い問題は、http_ssl.conf 内のログのパスの問題です。物理パスに従って設定することをお勧めします。 ステップ7: Apache をデバッグして実行します (Apache 用)。 xampp、wampserver、phpstudy などの統合環境で Apache サーバーを起動すると、サーバーでどのような問題が発生したかがわからない場合があります。Apache/logs のログを確認することをお勧めします。これに基づいて、cmd コマンドラインを使用して bin ディレクトリで httpd コマンドを実行します。エラーが報告されない場合は、サーバーが正常に動作していることを意味します。それ以外の場合は、プロンプトに従って変更を加えます。 2. テスト実行 apahce サービスを再起動し、https://www.my.com/ にアクセスします。完了です。 ===========エラー集約が発生しました========== 1. 「c:/apache/conf/extra/httpd-ssl.conf の 80 行目に構文エラーがあります:ErrorLog には 1 つの引数が必要です。エラー ログのファイル名です」または「c:/apache/conf/extra/httpd-ssl.conf の 99 行目に構文エラーがあります:SSLCertificateFile には 1 つの引数が必要です。SSL サーバー証明書ファイル ('/path/to/file' -PEM または DER でエンコード) です」 解決策: ファイルパスに二重引用符を追加する 2、「C:/apache/conf/extra/httpd-ssl.conf:SSLSessionCache の 76 行目に構文エラーがあります: 'shmcb' セッション キャッシュはサポートされていません (既知の名前: )。適切な socache モジュール (mod_socache_shmcb?) をロードする必要がある可能性があります。」 解決: httpd.confを開き、 LoadModule socache_shmcb_module modules/mod_socache_shmcb.so を見つける 前のコメントを削除します。 |
<<: MySQLがbinlogファイルを手動で登録し、マスタースレーブ異常を引き起こす理由
>>: WeChatアプレットのスクロールビューが左右連動効果を実現
ここでは、v3 のインストールと使用にのみ焦点を当てます。v2 について学びたい場合は、公式 Web...
1. プロジェクトwarが保存されているディレクトリを入力しますDockerfileを編集する vi...
テキスト入力でプレースホルダーを使用していますが、問題なく動作します。しかし、選択ボックスにはプレー...
CPU 権限の制限により、Linux ユーザー状態とカーネル状態間の通信は、プロセス間通信を使用した...
私がこれまで携わってきた多くのプロジェクトでは、基本的に避けられない悪循環がありました。それは、ホー...
目次コンポーネント設計最終的なコンポーネントAPIの定義コンポーネント構造の定義テンプレートとスタイ...
display:flex、justify-content: space-betweend を設定する...
上の境界線のみを表示する <table frame=above>下の境界線のみを表示する...
1. 元のmariadbを削除します。削除しないとmysqlをインストールできません。 mariad...
目次父から息子へ: 1. 親コンポーネントのサブコンポーネントタグに、サブコンポーネントに渡されるデ...
1. Reactでクラス宣言する際のヒント 上記のように、Child クラスは class キーワー...
目次1. はじめに2. 最初の方法3. 2番目の方法要約する1. はじめにVue プロジェクトの開発...
Web プロジェクトでは、タイムライン コントロールをよく使用します。この記事では、項目ごとに展開で...
Linux に Node.js をインストールする方法は 2 つあります。1 つは簡単で、解凍して使...
この記事では、参考のために、ミニプログラムでカスタムのマルチレベル単一選択および複数選択機能を実装す...