ObjectHttpsServer
HttpsServer は、https サーバーを作成するために使用されるオブジェクトであり、HttpsServer オブジェクトを使用できます。HttpServerすべてのインターフェイス関数とプロパティ。HttpsServer オブジェクトは、openssl によって生成された証明書オブジェクトを (X509Cert型) およびキー オブジェクト (PKeyタイプ)、したがってクライアントにssl暗号化で保護されたサービス
https サーバー オブジェクトは、SslServerとHttpHandlerカプセル化されたオブジェクトを組み合わせると、サーバーをすばやく構築するのに便利です。これは、論理的には次のものと同等です。
1
2
3var svr = new net.SslServer(crt, key, addr, port, new http.Handler(function(req) {
...
}));
HttpsServer を使用したサンプル コードを次に示します。
1
2
3
4
5
6
7
8
9
10
11
12const http = require("http");
const crypto = require("crypto");
// load cert and key
const cert = crypto.loadCert("server.crt");
const key = crypto.loadPKey("server.key");
// create https server
const server = new http.HttpsServer(cert, key, 8443, function(req) {
resp.response.write(`Hello, Fibjs!`);
});
server.start();
上記の例では、「server.crt」および「server.key」という名前の証明書と秘密鍵ファイルをロードし、HttpsServer オブジェクトを使用してサービスを作成し、ポート 8443 でリッスンするサービスを開きました。 「 https://localhost:8443/ 」経由でサービスにアクセスすると、受信できますssl暗号化保護。
外部アクセスを許可する必要がある場合は、証明書が信頼できる組織によって発行されていることを確認する必要があることに注意してください。そうしないと、クライアントが検証できず、パフォーマンスとセキュリティが低下し、セキュリティ警告がトリガーされる可能性があります。
相続関係
コンストラクタ
HttpsServer
HttpsServer コンストラクター、すべてのネイティブ アドレスをリッスン
1
2
3new HttpsServer(Array certs,
Integer port,
Handler hdlr);
呼び出しパラメーター:
- certs: サーバー証明書の配列、リスト
- port: 整数、指定httpサーバーのリッスン ポート
- hdlr:Handler、http組み込みのメッセージ プロセッサ、処理関数、連鎖処理配列、ルーティング オブジェクトについては、を参照してください。
証明書の形式は次のとおりです。
1
2
3
4
5
6
7
8
9
10
11[{
name: "fibjs.org",
crt: [X509Cert object],
key: [PKey object]
},
{
name: "*.fibjs.org",
crt: [X509Cert object],
key: [PKey object]
}
]
HttpsServer コンストラクター
1
2
3
4new HttpsServer(Array certs,
String addr,
Integer port,
Handler hdlr);
呼び出しパラメーター:
- certs: サーバー証明書の配列、リスト
- addr: 文字列、指定httpサーバーはアドレスをリッスンします。「」の場合、マシンのすべてのアドレスをリッスンします
- port: 整数、指定httpサーバーのリッスン ポート
- hdlr:Handler、http組み込みのメッセージ プロセッサ、処理関数、連鎖処理配列、ルーティング オブジェクトについては、を参照してください。
証明書の形式は次のとおりです。
1
2
3
4
5
6
7
8
9
10
11[{
name: "fibjs.org",
crt: [X509Cert object],
key: [PKey object]
},
{
name: "*.fibjs.org",
crt: [X509Cert object],
key: [PKey object]
}
]
HttpsServer コンストラクター、すべてのネイティブ アドレスをリッスン
1
2
3
4new HttpsServer(X509Cert crt,
PKey key,
Integer port,
Handler hdlr);
呼び出しパラメーター:
- crt:X509Cert、X509Certクライアントがサーバーを認証するために使用する証明書
- key:PKey、PKeyクライアントとの通信に使用される秘密鍵
- port: 整数、指定httpサーバーのリッスン ポート
- hdlr:Handler、http組み込みのメッセージ プロセッサ、処理関数、連鎖処理配列、ルーティング オブジェクトについては、を参照してください。
HttpsServer コンストラクター
1
2
3
4
5new HttpsServer(X509Cert crt,
PKey key,
String addr,
Integer port,
Handler hdlr);
呼び出しパラメーター:
- crt:X509Cert、X509Certクライアントがサーバーを認証するために使用する証明書
- key:PKey、PKeyクライアントとの通信に使用される秘密鍵
- addr: 文字列、指定httpサーバーはアドレスをリッスンします。「」の場合、マシンのすべてのアドレスをリッスンします
- port: 整数、指定httpサーバーのリッスン ポート
- hdlr:Handler、http組み込みのメッセージ プロセッサ、処理関数、連鎖処理配列、ルーティング オブジェクトについては、を参照してください。
メンバー属性
verification
整数、証明書検証モードを設定します。デフォルトは VERIFY_NONE です
1Integer HttpsServer.verification;
ca
X509Cert、クライアント証明書は ca を検証します
1readonly X509Cert HttpsServer.ca;
maxHeadersCount
リクエスト ヘッダーの最大数を整数でクエリおよび設定します。デフォルトは 128 です。
1Integer HttpsServer.maxHeadersCount;
maxBodySize
本体の最大サイズを整数で照会および設定します。MB 単位で、デフォルトは 64 です。
1Integer HttpsServer.maxBodySize;
enableEncoding
ブール値、自動減圧機能スイッチ、デフォルトはオフ
1Boolean HttpsServer.enableEncoding;
serverName
サーバー名を文字列、クエリ、および設定します。デフォルトは次のとおりです: fibjs/0.x.0
1String HttpsServer.serverName;
socket
Socket、サーバーは現在リッスンしていますSocket物体
1readonly Socket HttpsServer.socket;
handler
Handler、サーバーの現在のイベント処理インターフェース オブジェクト
1Handler HttpsServer.handler;
メンバー関数
enableCrossOrigin
クロスドメイン リクエストを許可する
1HttpsServer.enableCrossOrigin(String allowHeaders = "Content-Type");
呼び出しパラメーター:
- allowHeaders: 文字列、受け入れられるhttpヘッダー フィールド
start
現在のサーバーを起動する
1HttpsServer.start();
stop
ソケットを閉じると、実行中のサーバーが中止されます
1HttpsServer.stop() async;
toString
オブジェクトの文字列表現を返します。通常は「[Native Object]」を返します。オブジェクトは独自の特性に従って再実装できます
1String HttpsServer.toString();
戻り値:
- String、オブジェクトの文字列表現を返します
toJSON
オブジェクトの JSON 形式表現を返します。通常は、オブジェクトによって定義された読み取り可能なプロパティのコレクションを返します。
1Value HttpsServer.toJSON(String key = "");
呼び出しパラメーター:
- key: 文字列、未使用
戻り値:
- Value、JSON シリアル化可能な値を返します