App是一款功能强大且可投入生产的HTTP服务器。
如果在任何路由中使用具有限定名称的主机匹配器,则默认情况下会启用HTTPS;证书将自动设置和更新。此外,自动HTTPS还将为仅侦听HTTPS端口但没有通过添加良好的默认TLS连接策略定义的任何TLS连接策略的服务器启用HTTPS。
在HTTP路由中,可以使用其他占位符(替换任何*
):
{http.request.body} 请求正文(⚠️低效;仅用于调试) {http.request.cookie.*} HTTP请求cookie {http.request.header.*} 特定请求标头字段 {http.request.host.labels.*} 请求主机标签(从右开始,从0开始);例如对于foo.example.com:0=com、1=example、2=foo {http.request.host} 请求的Host标头的host部分 {http.request.hostport} 请求的Host标头中的主机和端口 {http.request.method} 请求方法 {http.request.orig_method} 请求的原始方法 {http.request.orig_uri.path.dir} 请求的原始目录 {http.request.orig_uri.path.file} 请求的原始文件名 {http.request.orig_uri.path} 请求的原始路径 {http.request.orig_uri.query} 请求的原始查询字符串(不带?) {http.request.orig_uri} 请求的原始URI {http.request.port} 请求的主机标头的端口部分 {http.request.proto} 请求协议 {http.request.remote.host} 远程客户端地址的主机部分 {http.request.remote.port} 远程客户端地址的端口部分 {http.request.remote} 远程客户端的地址 {http.request.scheme} 请求方案 {http.request.tls.version} TLS版本名称 {http.request.tls.cipher_suite} TLS密码套件 {http.request.tls.resumed} TLS连接恢复了先前的连接 {http.request.tls.proto} 商定的下一个协议 {http.request.tls.proto_mutual} 协商的下一个协议由服务器发布 {http.request.tls.server_name} 客户端请求的服务器名称(如果有) {http.request.tls.client.fingerprint} 客户端证书的SHA256校验和 {http.request.tls.client.public_key} 客户证书的公钥。 {http.request.tls.client.public_key_sha256} 客户端公钥的SHA256校验和。 {http.request.tls.client.issuer} 客户证书的发行人DN {http.request.tls.client.serial} 客户端证书的序列号 {http.request.tls.client.subject} 客户证书的主题DN {http.request.tls.client.san.dns_names.*} SAN DNS名称(索引可选) {http.request.tls.client.san.emails.*} SAN电子邮件地址(索引为可选) {http.request.tls.client.san.ips.*} SAN IP地址(索引可选) {http.request.tls.client.san.uris.*} SAN URI(索引可选) {http.request.uri.path.*} 路径的一部分,由/(从左开始,从0开始)分割 {http.request.uri.path.dir} 目录,不包括叶子文件名 {http.request.uri.path.file} 路径的文件名,不包括目录 {http.request.uri.path} 请求URI的路径部分 {http.request.uri.query.*} 单个查询字符串值 {http.request.uri.query} 查询字符串(无?) {http.request.uri} 完整的请求URI {http.response.header.*} 特定响应头字段 {http.vars.*} HTTP处理程序链中的自定义变量