基于Swift的Web框架Vapor2.0文档(翻译)HTTP-Server

转载请附原文链接:http://blog.fandong.me/2017/08/21/iOS-SwiftVaporWeb27/

前言

之前一直有做Java后台开发的兴趣,可是想到要看好多的Java教程,作为一个iOS开发者,我放弃了,
后来从朋友韩云智VL那里知道了这个框架,竟是用Swift写的,不得不说,它燃起了我的兴趣。
Vapor是一个基于Swift开发的服务端框架,可以工作于iOS,Mac OS,Ubuntu。
为了配合Swift部署到服务器,我把ECS的服务器系统改为Ubuntu16.04。

Vapor 2.0 - 文档目录
以下文字翻译自Vapor Docs/HTTP/Server

服务器

服务器负责接受来自客户端的连接,解析他们的请求,并给他们发送响应

默认

使用默认服务器启动Droplet很简单

import Vapor

let drop = try Droplet()
try drop.run()

默认服务器将0.0.0.0主机绑定到8080端口.

配置文件

如果你正在使用Config/server.json文件,那么你可以轻松地更改你的主机和端口

{
    "port": "$PORT:8080",
    "host": "0.0.0.0",
    "securityLayer": "none"
}

以上就是server.json的默认形式,端口试图解决环境变量$PORT或者回退到8080.

TLS

TLS(以前成为SSL)可以配置各种不同的证书和签名类型.

验证

可以禁用主机和证书的验证,默认情况下它们是启用的.

注意:禁用这些选项时请格外小心

"tls": {
    "verifyHost": false,
    "verifyCertificates": false
}

证书

无证书
"tls": {
    "certificates": "none"
}
"tls": {
    "certificates": "chain",
    "chainFile": "/path/to/chainfile"
}
文件
"tls": {
    "certificates": "files",
    "certificateFile": "/path/to/cert.pem",
    "privateKeyFile": "/path/to/key.pem"
}
认证机构
"tls": {
    "certificates": "ca"
}

签名

自己签名
"tls": {
    "signature": "selfSigned"
}
文件签名
"tls": {
    "signature": "signedFile",
    "caCertificateFile": "/path/to/file"
}
目录签名
"tls": {
    "signature": "signedDirectory",
    "caCertificateDirectory": "/path/to/dir"
}

示例

以下是使用自己签名签名和主机冗余设置为真的证书文件的server.json文件的示例.

{
    "port": "8443",
    "host": "0.0.0.0",
    "securityLayer": "tls",
    "tls": {
        "verifyHost": true,
        "certificates": "files",
        "certificateFile": "/vapor/certs/cert.pem",
        "privateKeyFile": "/vapor/certs/key.pem",
        "signature": "selfSigned"
    }
}

Nginx

强烈建议您在生产环境中运行您的Vapor项目时依托于Nginx,在部署Nginx章节中了解更多.

你可能感兴趣的:(基于Swift的Web框架Vapor2.0文档(翻译)HTTP-Server)