ObjectHttps서버
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;
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을 포함하는 값을 반환합니다.