オブジェクトHTTPSサーバー
HttpsServer は、https サーバーを作成するために使用されるオブジェクトです。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;
maxHeaderSize
整数。リクエスト ヘッダーの最大長をクエリおよび設定します。デフォルトは 8192 です。
1Integer HttpsServer.maxHeaderSize;
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 を含む値を返します