まず、Alibaba Cloud の公式チュートリアルをご覧ください。 ファイルの説明: 1. 証明書ファイル xxxxxx.pem には 2 つのセクションが含まれています。いずれのセクションも削除しないでください。 2. CSR が証明書システムによって作成された場合は、証明書の秘密キー ファイル xxxxxxxx.key、証明書の公開キー ファイル public.pem、および証明書チェーン ファイル chain.pem も含まれます。 (1)Apacheインストールディレクトリの下にcertディレクトリを作成し、ダウンロードしたすべてのファイルをcertディレクトリにコピーします。証明書を申請する際に CSR ファイルを自分で作成した場合は、対応する秘密鍵ファイルを cert ディレクトリに配置し、xxxxxxxx.key という名前を付けてください。 (2) Apacheインストールディレクトリのconfディレクトリにあるhttpd.confファイルを開き、次の内容を見つけて「#」を削除します。 #LoadModule ssl_module modules/mod_ssl.so (見つからない場合は、opensslプラグインがコンパイルされているかどうかを確認してください) #conf/extra/httpd-ssl.conf をインクルードします (3) Apacheインストールディレクトリのconf/extra/httpd-ssl.confファイル(オペレーティングシステムとインストール方法によってはconf.d/ssl.confの場合もあります)を開き、設定ファイル内で次の設定ステートメントを検索します。 # SSL プロトコルサポートプロトコルを追加し、安全でないプロトコルを削除します SSLProtocol all -SSLv2 -SSLv3 # 暗号化スイートを次のように変更します SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM SSLHonorCipherOrder オン # 証明書公開鍵設定 SSLCertificateFile cert/public.pem # 証明書の秘密鍵の設定 SSLCertificateKeyFile cert/xxxxxxx.key # 証明書チェーンの設定。属性が '#' 文字で始まる場合は削除してください。SSLCertificateChainFile cert/chain.pem (4)Apacheを再起動します。 (5)https経由でサイトにアクセスし、サイト証明書のインストールと構成をテストします。証明書の不信の問題が発生した場合は、ヘルプビデオをご覧ください。 ただし、これはあくまで参考値です。 Ubuntu では、apt を使用して Apache をインストールしましたが、httpd.conf ファイルはなく、apache2.conf ファイルのみがあります。このファイルは httpd.conf に似ており、次のコメントが含まれています。 # 複数のファイルに分割され、概説した構成階層を形成します # 以下はすべて /etc/apache2/ ディレクトリにあります: # Apache2 の # |-- apache2.conf # | `-- ポート.conf # |-- モッズが有効 # | |-- *.ロード # | `-- *.conf # |-- conf が有効 # | `-- *.conf # `-- サイトが有効 # `-- *.conf # このバージョンの Apache では、設定ファイルが他の小さなファイルに分散されており、構造は上記のようになります。必要に応じて、独自の httpd.conf を作成して組み込むこともできます。 https の構成に焦点を当てましょう。最初のステップは、外部環境のポート 443 が開いていることを確認することです。 2 番目のステップは、ssl_module がインストールされていることを確認することです。そうでない場合は、apt-get install openssl を実行してください。いくつかの依存関係が必要になる場合がありますが、いずれも軽微な問題です。 次にports.confを開きます。次の文が必須です。 <IfModule ssl_module> 443を聴く </モジュール> <IfModule mod_gnutls.c> 443を聴く </モジュール> 次にmods-availableを開き、ssl.confとssl.loadを見つけます。 ssl.load は次のようになります: # 依存: setenvif mime socache_shmcb ロードモジュール ssl_module /usr/lib/apache2/modules/mod_ssl.so ssl.conf は次のようになります: <IfModule mod_ssl.c> # 疑似乱数ジェネレーター (PRNG): # SSL ライブラリの PRNG をシードするための 1 つ以上のソースを構成します。 # シードデータは、良好なランダム品質である必要があります。 # 警告! 一部のプラットフォームでは、エントロピーが十分でない場合、/dev/random がブロックします # が利用可能です。つまり、/dev/randomデバイスは使用できなくなります # 非常に長い接続時間につながるため( # より多くのエントロピーを利用できるようにする必要がある)。しかし、通常、 # プラットフォームは、/dev/urandomデバイスも提供しているが、 # ブロック。利用可能な場合は、代わりにこれを使用してください。mod_sslユーザーガイドを読む # 詳細についてはマニュアルを参照してください。 # SSLRandomSeed スタートアップ組み込み SSLRandomSeed 起動ファイル:/dev/urandom 512 SSLRandomSeed 接続組み込み SSLRandomSeed 接続ファイル:/dev/urandom 512 ## ## SSL グローバルコンテキスト ## ## このコンテキストのすべてのSSL設定は、 ## メイン サーバーとすべての SSL 対応仮想ホスト。 ## # # 証明書とCRLをダウンロードするためのMIMEタイプ # アプリケーション/x-x509-ca-cert.crt にタイプを追加します AddType アプリケーション/x-pkcs7-crl .crl # パスフレーズダイアログ: # パスフレーズ収集プロセスを構成します。 # フィルタリングダイアログプログラム(`builtin'は内部 # ターミナルダイアログ) は、stdout にパスフレーズを提供する必要があります。 SSLPassPhraseDialog exec:/usr/share/apache2/ask-for-passphrase # プロセス間セッションキャッシュ: # SSLセッションキャッシュを構成する: まずメカニズム # 使用して期限切れのタイムアウト(秒単位)を指定します。 # (メカニズム dbm にはメモリ リークがあることがわかっているため、使用しないでください)。 #SSLセッションキャッシュ dbm:${APACHE_RUN_DIR}/ssl_scache SSLセッションキャッシュ shmcb:${APACHE_RUN_DIR}/ssl_scache(512000) SSLセッションキャッシュタイムアウト 300 # セマフォ: # 相互排他セマフォへのパスを設定する # SSL エンジンはプロセス間同期のために内部的に使用します。 # (デフォルトでは無効、グローバルMutexディレクティブはデフォルトで統合します # これ) #ミューテックスファイル:${APACHE_LOCK_DIR}/ssl_mutex ssl-cache # SSL 暗号スイート: # クライアントがネゴシエートできる暗号をリストします。 # 利用可能なすべてのciphersのリストについては、opensslパッケージのciphers(1)マニュアルページを参照してください。 # オプション。 # 安全な暗号のみを有効にする: SSLCipherSuite HIGH:!RC4:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!EXP:+MEDIUM # SSL サーバー暗号順序の優先順位: # 暗号アルゴリズムの選択にはサーバーの優先順位を使用します。 # クライアントは低レベルの暗号化を好む場合があります。これを有効にする必要があります # より強力な暗号化を強制したい場合、そして余裕がある場合は # CPUコストを削減し、SSLCipherSuiteをオーバーライドして # 安全でない暗号を最初に使用します。 # デフォルト: オフ SSLHonorCipherOrder オン # 有効にするプロトコル。 # 使用可能な値: all、SSLv3、TLSv1、TLSv1.1、TLSv1.2 # SSL v2 はサポートされなくなりました SSLプロトコルすべて -SSLv2 -SSLv3 # まだサポートしていないクライアントとの安全でない再ネゴシエーションを許可する # セキュアな再ネゴシエーションプロトコル。デフォルト: オフ #SSLInsecureRenegotiation オン # 非 SNI クライアントが名前ベースの仮想ホストにアクセスすることを禁止するかどうか。 # デフォルト: オフ #SSLStrictSNIVHostCheck オン </モジュール> # vim: 構文=apache ts=4 sw=4 sts=4 sr noet 次はサイトの設定です。ここではデフォルトの default-ssl.conf を使用します。 <IfModule mod_ssl.c> <仮想ホスト_default_:443> サーバー名 ################独自のサイト構成を追加する########## # 利用可能なログレベル: trace8、...、trace1、debug、info、notice、warn、 # エラー、クリティカル、アラート、緊急。 # 特定のログレベルを設定することもできます # モジュール、例: #ログレベル情報 ssl:warn エラーログ ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log を組み合わせたもの # conf-available/のほとんどの設定ファイルは、 # グローバルレベルで有効または無効にするには、 # 特定の仮想ホストのみの行を含めます。たとえば、 # 次の行は、このホストのみのCGI設定を有効にします # 「a2disconf」でグローバルに無効にされた後。 #conf-available/serve-cgi-bin.conf を含める # SSL エンジン スイッチ: # この仮想ホストの SSL を有効/無効にします。 SSLエンジンオン # 自己署名証明書(snakeoil)は、インストールすることで作成できます。 # ssl-certパッケージ。参照 詳細については、 # /usr/share/doc/apache2/README.Debian.gz を参照してください。 # キーと証明書の両方が同じファイルに保存されている場合、 # SSLCertificateFile ディレクティブが必要です。 SSL証明書ファイル /etc/apache2/cert/public.pem SSL証明書キーファイル /etc/apache2/cert/xxxxxxx.key # サーバー証明書チェーン: # SSLCertificateChainFileを、 # PEMエンコードされたCA証明書の連結。 # サーバー証明書の証明書チェーン。または # 参照ファイルはSSLCertificateFileと同じでも構いません # CA証明書がサーバーに直接追加される場合 # 利便性のための証明書。 SSL証明書チェーンファイル /etc/apache2/cert/chain.pem # 証明機関 (CA): # CA証明書の検証パスを設定します。CAが見つかる場所です。 # クライアント認証用の証明書または代わりに1つ # これらすべてを含む巨大なファイル (ファイルは PEM でエンコードされている必要があります) # 注意: SSLCACertificatePath 内にはハッシュシンボリックリンクが必要です # 証明書ファイルを指定するには、提供されている # 変更後にハッシュシンボリックリンクを更新するための Makefile。 #SSLCACertificatePath /etc/ssl/certs/ #SSLCACertificateFile /etc/apache2/ssl.crt/ca-bundle.crt # 証明書失効リスト (CRL): # クライアントのCA CRLを検索するCA失効パスを設定します # 認証またはすべての内容を含む1つの巨大なファイル 個数 (ファイルは PEM でエンコードされている必要があります) # 注意: SSLCARevocationPath 内にはハッシュシンボリックリンクが必要です # 証明書ファイルを指定するには、提供されている # 変更後にハッシュシンボリックリンクを更新するための Makefile。 #SSLCARevocationPath /etc/apache2/ssl.crl/ #SSLCARevocationFile /etc/apache2/ssl.crl/ca-bundle.crl # クライアント認証(タイプ): # クライアント証明書の検証タイプと深さ。タイプは # none、optional、require、optional_no_ca。深さは # 証明書をどの程度深く検証するかを指定する数値 # 証明書が有効でないと判断する前に、発行者チェーンを確認します。 #SSLVerifyClient が必要 #SSL検証深度10 # SSL エンジン オプション: # SSL エンジンのさまざまなオプションを設定します。 # o 偽BasicAuth: # クライアントのX.509をBasic認証に変換します。これは、 # アクセス制御には標準の Auth/DBMAuth メソッドを使用できます。 # ユーザー名は、クライアントの X.509 証明書の「1 行」バージョンです。 # ユーザーからパスワードは取得されないことに注意してください。ユーザー内のすべてのエントリ # ファイルにはこのパスワードが必要です: `xxj31ZMTZzkVA'。 # o 証明書データのエクスポート: # これにより、2つの追加の環境変数がエクスポートされます: SSL_CLIENT_CERTと # SSL_SERVER_CERT。これらには、PEMエンコードされた証明書が含まれています。 # サーバー(常に存在)とクライアント(クライアントが # 認証が使用されます)。これを使用して証明書をインポートできます # CGI スクリプトに組み込みます。 # o 標準環境変数: # これは、標準の SSL/TLS 関連の `SSL_*' 環境変数をエクスポートします。 # デフォルトでは、パフォーマンス上の理由からこのエクスポートはオフになっています。 # 抽出ステップはコストのかかる操作であり、通常は # 静的コンテンツを提供するには役に立ちません。そのため、通常は # CGI および SSI リクエストのみのエクスポート。 # o OptRenegotiate: # これにより、SSL接続の再ネゴシエーション処理が最適化され、SSL # ディレクティブはディレクトリごとのコンテキストで使用されます。 #SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire <FilesMatch "\.(cgi|shtml|phtml|php)$"> SSLオプション +標準環境変数 </ファイル一致> <ディレクトリ /usr/lib/cgi-bin> SSLオプション +標準環境変数 </ディレクトリ> # SSL プロトコルの調整: # 安全でデフォルトですが、SSL/TLS標準に準拠したシャットダウン # アプローチは、mod_sslがclose notificationアラートを送信するが、 # クライアントからの終了通知アラート。別のシャットダウンが必要な場合 # アプローチでは、次のいずれかの変数を使用できます。 # o ssl-unclean-shutdown: # これにより、接続が閉じられたときにクリーンでないシャットダウンが強制されます。つまり、 # SSLクローズ通知アラートが送信または受信を許可されています。これは違反です # SSL/TLS標準ではありませんが、一部の低機能なブラウザでは必要です。 # 標準的なアプローチではI/Oエラーが発生するため、 # mod_ssl はクローズ通知アラートを送信します。 # o ssl-正確なシャットダウン: # これにより、接続が閉じられたときに正確なシャットダウンが強制されます。つまり、 # SSL クローズ通知アラートが送信され、mod_ssl はクローズ通知を待機します # クライアントのアラート。これは100% SSL/TLS標準に準拠していますが、 # 実践すると、ブラウザが動かなくなり、接続がハングすることがよくあります。 # これは、SSL実装がわかっているブラウザのみ対象です # 正常に動作します。 # 注意: 壊れたクライアントの問題のほとんどはHTTPにも関連しています # キープアライブ機能があるので、通常はさらに無効にしたい # これらのクライアントに対してもキープアライブを行います。これには変数「nokeepalive」を使用します。 # 同様に、回避策として一部のクライアントにHTTP/1.0の使用を強制する必要がある # 壊れたHTTP/1.1実装。変数「downgrade-1.0」と「downgrade-1.0」を使用してください。 # この場合は「force-response-1.0」を使用します。 # ブラウザマッチ "MSIE [2-6]" \ # nokeepalive ssl-unclean-shutdown \ # ダウングレード 1.0 強制レスポンス 1.0 </仮想ホスト> </モジュール> # vim: 構文=apache ts=4 sw=4 sts=4 sr noet Alibaba Cloud チュートリアルの設定項目が 2 つの設定ファイルに分かれていることに気付きましたか? 次に、ブラウザで https を使用してアクセスすると、成功します。 (Linux では wget または curl を使用してテストできます) 以上がこの記事の全内容です。皆様の勉強のお役に立てれば幸いです。また、123WORDPRESS.COM を応援していただければ幸いです。 以下もご興味があるかもしれません:
|
>>: 要素内の TimePicker は時間の一部を無効にします (分単位で無効)
カスケードとカスケードレベルHTML 要素は 3 次元の概念です。水平方向と垂直方向に加えて、「Z ...
「Enter != Submit」問題を実装するには、通常、「ボタンの種類」と「入力ボックスの数」か...
目次JavaScript のインポート1. 内部ラベル2. 外部紹介基本的な構文データ型番号弦ブール...
1. 環境と関連ソフトウェア仮想マシン: VMwore Workstation Linuxシステム:...
目次MySQLネイティブレプリケーションに基づくマスター-マスター同期ソリューションGaleraレプ...
目次序文webSocket の操作と例について:ウェブソケット1. webSocketについて2. ...
MySQL をインストールする必要があるため、インストール手順を以下のように記録します。 自分なり...
要素UIとはelement-ui は、Ele.me のフロントエンド チームが開発者、デザイナー、製...
今回は、Google Chrome のタブバーのような、特殊な丸い角を持つナビゲーション バーのレイ...
序文SpringBoot + Vueのフロントエンドとバックエンドを分離したプロジェクトをどのように...
1. ファイアウォールの基本的な使い方起動する: systemctl は、firewalld を起動...
目次クエリキャッシュの最適化概要クエリプロセスクエリキャッシュ構成クエリキャッシュの無効化メモリ管理...
なぜ Nexus プライベート サーバーを構築する必要があるのでしょうか。その理由は非常に簡単です。...
目次1. SQL言語の基本機能の紹介2. データ定義言語の目的3. データベースの作成と破棄4. デ...
システム: Ubuntu 16.04LTS 1\公式サイトからmysql-5.7.18-linux-...