現在のノードの基本構造が次のとおりであるとします。
|----项目 | |--- static # 存放html文件 | | |--- index.html # index.html | |--- node_modules # 依赖包 | |--- app.js # node 入口文件 | |--- package.json | |--- .babelrc # 转换es6文件
index.html ファイルのコードは次のとおりです:
<!doctype html> <html> <head> <meta charset=utf-8> <meta name="referrer" content="never"> <title>nginx配置https</title> </head> <body> <div> <h2 id="欢迎使用https来访问页面">欢迎使用https来访问页面</h2> </div> </body> </html>
app.js コードは次のとおりです:
const koa = require('koa'); const fs = require('fs'); const path = require('path'); const router = require('koa-router')(); const koabody = require('koa-body'); const static = require('koa-static'); const app = new koa(); router.get('/', (ctx, next) => { // 设置头类型, 如果不设置,会直接下载该页面 ctx.type = 'html'; // 读取文件 const pathurl = path.join(__dirname, '/static/index.html'); ctx.body = fs.createreadstream(pathurl); next(); }); app.use(static(path.join(__dirname))); app.use(router.routes()); app.use(router.allowedmethods()); app.listen(3001, () => { console.log('server is listen in 3001'); });
package.json コードは次のとおりです ;
{ "name": "uploadandload", "version": "1.0.0", "description": "", "main": "app.js", "scripts": { "dev": "nodemon ./app.js" }, "author": "", "license": "isc", "dependencies": { "fs": "0.0.1-security", "koa": "^2.7.0", "koa-body": "^4.1.0", "koa-router": "^7.4.0", "koa-send": "^5.0.0", "koa-static": "^5.0.0", "nodemon": "^1.19.0", "path": "^0.12.7" } }
その後、プロジェクトのルート ディレクトリで npm run dev を実行すると、ブラウザで http://localhost:3001 にアクセスできますが、ドメイン名を使用してアクセスしたい場合は、hosts ファイルの下にドメイン名をバインドできます (例: xxx.abc.com)。hosts ファイルは次のようにバインドされています:
127.0.0.1 xxx.abc.com
したがって、この時点ではhttp://xxx.abc.com:3001/ を使用してアクセスできます。ページは次のとおりです。
上記のように、ページにアクセスできますが、 Chrome ブラウザで http リクエストを表示するのは安全ではないことがわかったので、現時点では https を使用してアクセスし、Web ページのセキュリティが保証されているようにしたいと考えています。 https を使用してアクセスすると機能しません。たとえば、アドレス: https:///xxx.abc.com:3001。次の図に示すように:
https を使用してアクセスするには一般にセキュリティ証明書が必要であることがわかっているため、現在のタスクは nginx を使用してセキュリティ証明書などを構成し、https を使用して Web ページにアクセスして目的を達成することです。
nginx 設定 https サービス
1. まず、nginx ディレクトリに入り、コマンド cd /usr/local/etc/nginx を使用します。次に、このディレクトリに証明書フォルダーを作成し、証明書ファイルを保存します。
コマンド: mkdir cert を次のように使用します:
2. 次に、server.crt ファイルやserver.key ファイルなどの証明書関連ファイルをコピーする必要があります。証明書ディレクトリにコピーします。たとえば、次の証明書ファイル:
上記の証明書がどのように存続するかについては、以前の記事を参照してください。
Move コマンド: mv server.key /たとえば、usr /local/etc/nginx/cert のように、server.key ファイルとserver.crt ファイルを /usr/local/etc/nginx/cert ディレクトリに移動します。次の図に示すように:
次に、/usr/local/etc/nginx/cert ディレクトリを確認します。以下に示すように、次のファイルがあります。
server { listen 443 ssl; server_name xxx.abc.com; ssl on; // 该配置项需要去掉 ssl_certificate cert/server.crt; ssl_certificate_key cert/server.key; /* 设置ssl/tls会话缓存的类型和大小。如果设置了这个参数一般是shared,buildin可能会参数内存碎片,默认是none,和off差不多,停用缓存。如shared:ssl:10m表示我所有的nginx工作进程共享ssl会话缓存,官网介绍说1m可以存放约4000个sessions。 */ ssl_session_cache shared:ssl:1m; // 客户端可以重用会话缓存中ssl参数的过期时间,内网系统默认5分钟太短了,可以设成30m即30分钟甚至4h。 ssl_session_timeout 5m; /* 选择加密套件,不同的浏览器所支持的套件(和顺序)可能会不同。 这里指定的是openssl库能够识别的写法,你可以通过 openssl -v cipher 'rc4:high:!anull:!md5'(后面是你所指定的套件加密算法) 来看所支持算法。 */ ssl_ciphers high:!anull:!md5; // 设置协商加密算法时,优先使用我们服务端的加密套件,而不是客户端浏览器的加密套件。 ssl_prefer_server_ciphers on; location / { proxy_pass http://localhost:3001; } }注: 上記の ssl はオンになっており、この設定項目には次のコードが必要です。削除されます。上記のように設定されている場合、nginx コマンドを再起動すると、次のようなエラーが報告されます。このエラーと同様のエラー :0906a065:pem ルーチン:pem_do_header:bad 復号化してから、Baidu でこのエラーを検索すると、次の方法で解決できます: ディレクトリを入力してください: cd /usr/local/etc/nginx /cert を入力し、次の 2 行のコードを実行します。
cp server.key server.key.org openssl rsa -in server.key.org -out server.key

# で検索されたページが表示されます。 ##その後、nginx の再起動を続けると、依然としてエラーが報告されることがわかりました。エラー メッセージは次のとおりでした:
nginx: [警告] "ssl" ディレクティブは非推奨です。代わりに「listen ... ssl」ディレクティブ
理解が間違っていました。443 ssl をリッスンするには ssl をオンに変更する必要があります。これは正しいです。 ここで、nginx の再起動を続けます。以下に示すように、問題はありません。nginx.conf にアクセスし、ssl on を削除してリロードすると、案の定、再びアラームは発生せず、現在の使用には問題ありません。
ただし、上記の設定後は、ドメインを直接使用できなくなります。 name https:// xxx.abc.com/ にアクセスした後、前に生成した client.crt 証明書をブラウザにインストールする必要があります。Mac システムでの手順は次のとおりです:
1. をクリックします。以下に示すように、ランチャー上で。次のように:###
2. 以下に示すように、キーチェーン アクセスを検索してクリックします。
3. 証明書ページに入り、「Just」と入力します。 client.crt 証明書を証明書にドラッグします。たとえば、前に生成した client.crt 証明書は次のとおりです:
4. 証明書を右クリックし、 「プロファイルを表示」をクリックして、証明書の詳細ページに入ります。次の図に示すように:
#6. その後終了します。コンピューターの電源投入時パスワードの入力が必要になる場合があります。入力すると、自動的に保存されます。次に、ブラウザで https://xxx.abc.com/ ページにアクセスできます。以下に示すように:
上記は、nginx 証明書を使用してローカル ノード https サービスを実装することです。
ただし、上記のように https にアクセスできますが、次の図に示すように、https の前に安全でないコピーライティングが表示されます。
以上がhttpsサービスを実装するためにnginx SSL証明書を構成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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)アプリケーション管理に動的構成関数を使用します。これらの手順を通じて、アプリケーションを効率的に展開および管理し、プロジェクトの効率を向上させることができます。

NGINXは、高い並行接続の処理に適していますが、Apacheは複雑な構成とモジュール拡張が必要なシナリオにより適しています。 1.Nginxは、高性能と低リソース消費で知られており、高い並行性に適しています。 2. Apacheは、その安定性とリッチモジュール拡張機能で知られています。これは、複雑な構成ニーズに適しています。

Nginxunitは、動的な構成と高性能アーキテクチャにより、アプリケーションの柔軟性とパフォーマンスを向上させます。 1.動的構成により、サーバーを再起動せずにアプリケーション構成を調整できます。 2.高性能は、イベント駆動型および非ブロッキングアーキテクチャおよびマルチプロセスモデルに反映され、同時接続を効率的に処理し、マルチコアCPUを利用できます。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

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

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

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

ホットトピック









