背景
プロジェクトの要件とセキュリティ上の理由により、以前の http インターフェイス アクセスを https アクセスに変更する必要があるため、SSL 証明書を構成する必要があります。プロジェクトのアーキテクチャは次のとおりです:
基本的なアーキテクチャは、ハード ロード (readwhere) ソフト ロード (nginx) tomcat クラスターです。 ssl 証明書はどこで設定する必要がありますか、ハードロードで直接設定しますか?それともnginxとtomcatでそれぞれ設定しますか?それとも他の設定方法があるのでしょうか?
まず、ハードロードの設定をあきらめ、インターネットで情報を検索したところ、nginx でのみ証明書を設定できることがわかりました。つまり、nginx はアクセスに https を使用します。 、http は nginx と Tomcat 間の接続に使用されます。これにより、全体的なアイデアが得られます。
SSL 証明書について
SSL 証明書については、プロジェクトの必要性もあって、簡単に理解しました。
SSL証明書は大きくドメインレベル(dv)、エンタープライズレベル(ov)、エンハンスドレベル(ev)の3種類に分かれており、順にセキュリティが高く、価格も高くなります。個人向けには安価なdv、法人向けには一般的にov、特殊な場合にはevというように用途に応じて選択してください。
ssl 証明書設定
nginx の ssl 証明書設定のサポートにより、この実装が可能になったため、nginx の強さを嘆かざるを得ません。
証明書の準備
nginx 構成には .pem/.crt 証明書.key が必要です。現在他の形式の証明書をお持ちの場合は、関連する手順に従って、必要な証明書タイプがない場合、証明書の構成を完了できません。通常、購入する販売者は対応する変換ツールを備えています。
準備ができたら、証明書と秘密キーを nginx の conf ディレクトリ (つまり、設定ファイル nginx.conf と同じディレクトリ) に配置します。ここでは特別な注意を払う必要があります:
Linux システムで構成されている場合は準備完了です;
Windows システムで構成されている場合は、.key 内のパスワード秘密キー ファイルを削除する必要があります。そうしないと、設定後に nginx が起動しません。これが落とし穴です。ここで行き詰まっています。具体的な解決策も非常に簡単です。openssl の Windows バージョンをオンラインでダウンロードし、cmd を bin ディレクトリに切り替えますopenssl rsa. -inserver.key-outserver2.keyを実行すると、生成されたserver2.keyは設定に必要な秘密鍵ファイルですが、ファイル名をserver.keyに変更する必要があります。
nginx 設定ファイルの変更
以下は nginx.conf 設定ファイルの一部です。ポートはデフォルトの 443 ではありませんが、変更されています。 8185 になりますので、必要に応じて変更してください。その他の構成は基本的に以下の通りで問題ありません。
server { listen 8185; server_name localhost; ssl on; ssl_certificate server.pem; ssl_certificate_key server.key; ssl_session_timeout 5m; ssl_protocols tlsv1 tlsv1.1 tlsv1.2; ssl_ciphers high:!rc4:!md5:!anull:!enull:!null:!dh:!edh:!exp:+medium; ssl_prefer_server_ciphers on; location / { proxy_set_header host $host:$server_port; proxy_set_header x-real-ip $remote_addr; proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for; proxy_set_header x-forwarded-proto $scheme; proxy_connect_timeout 5; proxy_send_timeout 5; proxy_read_timeout 5; proxy_pass http://qlddm_server; }
Tomcat 構成ファイルを変更する
Tomcat で証明書を構成する必要はありませんが、Tomcat 構成のserver.xml 構成ファイルを変更する必要があります。具体的には 2 つの場所が含まれます:
<connector executor="tomcatthreadpool" port="7083" protocol="org.apache.coyote.http11.http11nio2protocol" connectiontimeout="20000" maxconnections="8000" redirectport="8185" proxyport="8185" enablelookups="false" acceptcount="100" maxpostsize="10485760" compression="on" disableuploadtimeout="true" compressionminsize="2048" acceptorthreadcount="2" compressablemimetype="text/html,text/xml,text/plain,text/css,text/javascript,application/javascript" uriencoding="utf-8" />
リダイレクトポートとプロキシポートの両方を nginx リスニング ポート番号に変更する必要があります。
<valve classname="org.apache.catalina.valves.remoteipvalve" remoteipheader="x-forwarded-for" protocolheader="x-forwarded-proto" protocolheaderhttpsvalue="https" httpsserverport="8185"/>
上記の値タグを追加する必要があります。httpsserverport も nginx のリスニング ポート番号に変更する必要があることに注意してください。
以上がHTTPS アクセスを実現するために Nginx SSL 証明書を構成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

Nginxは2002年に開始され、C10Kの問題を解決するためにIgorsysoevによって開発されました。 1.Nginxは、高性能の非同期アーキテクチャであり、高い並行性に適した高性能Webサーバーです。 2。システムのパフォーマンスと信頼性を向上させるために、リバースプロキシ、ロードバランス、キャッシュなどの高度な機能を提供します。 3。最適化手法には、HTTP/2とセキュリティ構成を使用した、ワーカープロセスの数の調整、GZIP圧縮の有効化が含まれます。

NginxとApacheの主なアーキテクチャの違いは、Nginxがイベント駆動型の非同期非ブロッキングモデルを採用し、Apacheはプロセスまたはスレッドモデルを使用することです。 1)nginxは、静的な内容と逆プロキシに適したイベントループとI/O多重化メカニズムを介して、高電流接続を効率的に処理します。 2)Apacheは、非常に安定しているがリソース消費量が高いマルチプロセスまたはマルチスレッドモデルを採用しており、リッチモジュールの拡張が必要なシナリオに適しています。

Nginxは、高い同時コンテンツと静的コンテンツの処理に適していますが、Apacheは複雑な構成と動的コンテンツに適しています。 1。NGINXは、交通量の多いシナリオに適した同時接続を効率的に処理しますが、動的コンテンツを処理するときは追加の構成が必要です。 2。Apacheは、複雑なニーズに適したリッチモジュールと柔軟な構成を提供しますが、並行性のパフォーマンスが低いです。

NginxとApacheにはそれぞれ独自の利点と欠点があり、選択は特定のニーズに基づいている必要があります。 1.Nginxは、非同期の非ブロッキングアーキテクチャのため、高い並行性シナリオに適しています。 2。Apacheは、モジュラー設計のため、複雑な構成を必要とする低変動シナリオに適しています。

Nginxunitは、複数のプログラミング言語をサポートし、動的構成、ゼロダウンタイム更新、組み込みのロードバランシングなどの機能を提供するオープンソースアプリケーションサーバーです。 1。動的構成:再起動せずに構成を変更できます。 2。多言語サポート:Python、Go、Java、PHPなどと互換性があります。 4。ビルトインロードバランシング:リクエストは、複数のアプリケーションインスタンスに配布できます。

nginxunitは、多言語プロジェクトや動的な構成要件に適した、apachetomcat、gunicorn、node.jsビルトインHTTPサーバーよりも優れています。 1)複数のプログラミング言語をサポートします。2)動的な構成リロード、3)高いスケーラビリティと信頼性を必要とするプロジェクトに適した組み込みの負荷分散機能を提供します。

Nginxunitは、モジュラーアーキテクチャと動的な再構成機能により、アプリケーションのパフォーマンスと管理性を向上させます。 1)モジュラー設計には、マスタープロセス、ルーター、アプリケーションプロセスが含まれ、効率的な管理と拡張をサポートします。 2)動的再構成により、CI/CD環境に適した、実行時に構成をシームレスに更新できます。 3)多言語サポートは、言語ランタイムの動的なロードを通じて実装され、開発の柔軟性が向上します。 4)イベント駆動型モデルと非同期I/Oによって高性能が達成され、高い並行性の下でも効率的なままです。 5)申請プロセスを分離し、アプリケーション間の相互の影響を減らすことにより、セキュリティが改善されます。

nginxunitを使用して、アプリケーションを複数の言語で展開および管理できます。 1)nginxunitをインストールします。 2)PythonやPHPなどのさまざまなタイプのアプリケーションを実行するように構成します。 3)アプリケーション管理に動的構成関数を使用します。これらの手順を通じて、アプリケーションを効率的に展開および管理し、プロジェクトの効率を向上させることができます。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

Dreamweaver Mac版
ビジュアル Web 開発ツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

ホットトピック









