使用bindSecure 去創(chuàng)建一個 HTTPS server.
服務將會提供一個證書給客戶端。這個證書鏈和私鑰在 SecurityContext 里面設置,這個對象通過 bindSecure方法進行調(diào)用.
import 'dart:io';
import "dart:isolate";
main() {
SecurityContext context = new SecurityContext();
var chain =
Platform.script.resolve('certificates/server_chain.pem')
.toFilePath();
var key =
Platform.script.resolve('certificates/server_key.pem')
.toFilePath();
context.useCertificateChain(chain);
context.usePrivateKey(key, password: 'dartdart');
HttpServer
.bindSecure(InternetAddress.anyIPv6,
443,
context)
.then((server) {
server.listen((HttpRequest request) {
request.response.write('Hello, world!');
request.response.close();
});
});
}
這里證書和key都是pem文件,他們可以通過OpenSSL工具進行生成。
原文鏈接:https://api.dart.dev/be/180499/dart-io/HttpServer-class.html#id_bindSecure
閑話:好久沒寫新文章了,最近項目中用到需要在手機上搭一個小服務器的功能,且這個服務器要支持https,百度了好久也沒有找到能直接有幫助的文章,特此在這記錄一下,親測可用。普通的不支持https的代碼就很簡單了,也在上面的那個鏈接里。