一个简单的HTTP程序,支持通过acme申请SSL证书进行部署。

宋子桓🌈 385357bb1b 配置文件和脚本以统一换行符 3 months ago
.github d71ed38411 更新项目结构和文档 3 months ago
src 405d0181b8 更新标志解析和版本信息 3 months ago
.gitattributes 385357bb1b 配置文件和脚本以统一换行符 3 months ago
.gitignore f869fdf979 更新证书申请逻辑并移除冗余标志 3 months ago
LICENSE e65dfeb707 初始化项目结构和依赖 3 months ago
README.md 388802ab30 更新证书处理和路由配置 3 months ago
REEPORT d71ed38411 更新项目结构和文档 3 months ago
VERSION 405d0181b8 更新标志解析和版本信息 3 months ago
crlf2lf.sh 385357bb1b 配置文件和脚本以统一换行符 3 months ago
go.mod 385357bb1b 配置文件和脚本以统一换行符 3 months ago
go.sum 407f7987fd 删除不再使用的账户管理相关代码 3 months ago
resource.go 1e38ce796c 更新资源文件嵌入路径 3 months ago

README.md

HTTP-Demo

基于Go+Gin框架的HTTP-Demo程序。

主要用于打印一些网络信息,便于测试。

命令行参数

HTTP

Http默认监听端口:3366,可通过--address-http-address参数更改。

HTTPS

Https默认不监听,可通过--https-address参数开启监听。

HTTPS默认使用acme的DNS-01调整申请HTTPS证书,因此你需要配置:--https-domain域名,--https-aliyun-dns-access-key--https-aliyun-dns-access-secret阿里云具有DNS权限的RAM用户的Key和Secret。 你还可以选择性配置--https-email,申请CA联系人你(不会体现在证书上),默认为no-reply@example.com。 你还可以选择性配置--https-cert-dir,保存证书和和账号信息(每个邮箱都会对应一个账户),默认为当前目录下ssl-certs文件夹。

环境变量

通过环境变量也可以设置参数,但是会被命令行参数覆盖

DH_HTTP_ADDRESS等价于--http-address

DH_HTTPS_ADDRESS等价于--https-address

DH_HTTPS_DOMAIN等价于--https-domain

DH_HTTPS_EMAIL等价于--https-email

DH_HTTPS_CERT_DIR等价于--http-cert-dir

DH_HTTPS_ALIYUN_KEY等价于--https-aliyun-dns-access-key

DH_HTTPS_ALIYUN_SECRET等价于--https-aliyun-dns-access-secret

路由

/ - 打印请求信息

/message - 打印请求信息

/ip - 打印接收请求时对方的IP地址,未必为请求人的IP地址,可能是代理的地址。

/remote/ip - 打印接收请求时对方的IP地址,未必为请求人的IP地址,可能是代理的地址。

/client/ip - 请取人的地址,通过请求头X-Forwarder-For等获取

/timestamp - 当前时间戳

/datetime - 当前时间

/hello - 打印欢迎信息

/empty - 返回204,无body

协议

本软件基于MIT LICENSE协议发布。