feat(server): 优化服务器配置和日志记录

- 修改 www.teststatic.com 的端口为 8000
- 新增 www.a.com 的配置文件
- 更新 www.teststatic.com 的服务器配置,使用数组形式
- 在 LocalCertManager 中添加日志记录
- 优化 ServerManager 中的匹配逻辑,增加日志输出
This commit is contained in:
kingecg 2025-06-24 07:46:57 +08:00
parent eb64db6b30
commit 84960de4a6
5 changed files with 18 additions and 2 deletions

View File

@ -1,7 +1,7 @@
{ {
"name": "http-jump", "name": "http-jump",
"server": "www.teststatic.com", "server": "www.teststatic.com",
"port": 80, "port": 8000,
"directives":[ "directives":[
"Redirect https://www.teststatic.com:8088/" "Redirect https://www.teststatic.com:8088/"
], ],

13
include/www.a.com.json Normal file
View File

@ -0,0 +1,13 @@
{
"name": "a",
"server": ["www.a.com"],
"port": 8088,
"enable_ssl":true,
"paths": [
{
"path": "/",
"root": "./example",
"default": "index.html"
}
]
}

View File

@ -1,6 +1,6 @@
{ {
"name": "teststatic", "name": "teststatic",
"server": "www.teststatic.com", "server": ["www.teststatic.com"],
"port": 8088, "port": 8088,
"enable_ssl":true, "enable_ssl":true,
"paths": [ "paths": [

View File

@ -16,6 +16,7 @@ type LocalCertManager struct {
func (l *LocalCertManager) GetCertificate(hello *tls.ClientHelloInfo) (*tls.Certificate, error) { func (l *LocalCertManager) GetCertificate(hello *tls.ClientHelloInfo) (*tls.Certificate, error) {
logger := gologger.GetLogger("autocert") logger := gologger.GetLogger("autocert")
logger.Debug("GetCertificate")
cert, err := l.Manager.GetCertificate(hello) cert, err := l.Manager.GetCertificate(hello)
if err != nil { if err != nil {
logger.Error("GetCertificate", err) logger.Error("GetCertificate", err)

View File

@ -17,6 +17,7 @@ import (
var ServerManager map[string]*ServerListener = make(map[string]*ServerListener) var ServerManager map[string]*ServerListener = make(map[string]*ServerListener)
func makeMatcher(name model.Strings, s *ServerListener) cmux.Matcher { func makeMatcher(name model.Strings, s *ServerListener) cmux.Matcher {
l := logger.GetLogger("ServerListener")
return func(r io.Reader) bool { return func(r io.Reader) bool {
if s.ServerCount() == 1 { if s.ServerCount() == 1 {
return true return true
@ -25,6 +26,7 @@ func makeMatcher(name model.Strings, s *ServerListener) cmux.Matcher {
if err != nil { if err != nil {
return false return false
} }
l.Debug("Request Host:", req.Host, "URL Host:", req.URL.Host, "Name:", name)
return name.HasOrContainPrefix(req.Host) || name.HasOrContainPrefix(req.URL.Host) return name.HasOrContainPrefix(req.Host) || name.HasOrContainPrefix(req.URL.Host)
} }
} }