Documentation
¶
Index ¶
- Constants
- type Block
- type Comment
- type Config
- func (c *Config) AddVirtualHost(args ...string) *VirtualHost
- func (c *Config) Export() string
- func (c *Config) ExportWithOptions(options *ExportOptions) string
- func (c *Config) GetDirective(name string) *Directive
- func (c *Config) GetDirectives(name string) []*Directive
- func (c *Config) GetVirtualHost(args ...string) *VirtualHost
- type Directive
- type ExportOptions
- type Include
- type Lexer
- type PHPVhost
- func (v PHPVhost) AccessLog() string
- func (v PHPVhost) BasicAuth() map[string]string
- func (v PHPVhost) ClearBasicAuth() error
- func (v PHPVhost) ClearRateLimit() error
- func (v PHPVhost) ClearRealIP() error
- func (v PHPVhost) ClearSSL() error
- func (v PHPVhost) Config(name string, typ string) string
- func (v PHPVhost) Enable() bool
- func (v PHPVhost) ErrorLog() string
- func (v PHPVhost) Includes() []types.IncludeFile
- func (v PHPVhost) Index() []string
- func (v PHPVhost) Listen() []types.Listen
- func (v *PHPVhost) PHP() uint
- func (v PHPVhost) RateLimit() *types.RateLimit
- func (v PHPVhost) RealIP() *types.RealIP
- func (v PHPVhost) Redirects() []types.Redirect
- func (v PHPVhost) RemoveConfig(name string, typ string) error
- func (v PHPVhost) Reset() error
- func (v PHPVhost) Root() string
- func (v PHPVhost) SSL() bool
- func (v PHPVhost) SSLConfig() *types.SSLConfig
- func (v PHPVhost) Save() error
- func (v PHPVhost) ServerName() []string
- func (v PHPVhost) SetAccessLog(accessLog string) error
- func (v PHPVhost) SetBasicAuth(auth map[string]string) error
- func (v PHPVhost) SetConfig(name string, typ string, content string) error
- func (v PHPVhost) SetEnable(enable bool) error
- func (v PHPVhost) SetErrorLog(errorLog string) error
- func (v PHPVhost) SetIncludes(includes []types.IncludeFile) error
- func (v PHPVhost) SetIndex(index []string) error
- func (v PHPVhost) SetListen(listens []types.Listen) error
- func (v *PHPVhost) SetPHP(version uint) error
- func (v PHPVhost) SetRateLimit(limit *types.RateLimit) error
- func (v PHPVhost) SetRealIP(realIP *types.RealIP) error
- func (v PHPVhost) SetRedirects(redirects []types.Redirect) error
- func (v PHPVhost) SetRoot(root string) error
- func (v PHPVhost) SetSSLConfig(cfg *types.SSLConfig) error
- func (v PHPVhost) SetServerName(serverName []string) error
- type ParseOptions
- type Parser
- type ProxyVhost
- func (v ProxyVhost) AccessLog() string
- func (v ProxyVhost) BasicAuth() map[string]string
- func (v ProxyVhost) ClearBasicAuth() error
- func (v *ProxyVhost) ClearProxies() error
- func (v ProxyVhost) ClearRateLimit() error
- func (v ProxyVhost) ClearRealIP() error
- func (v ProxyVhost) ClearSSL() error
- func (v *ProxyVhost) ClearUpstreams() error
- func (v ProxyVhost) Config(name string, typ string) string
- func (v ProxyVhost) Enable() bool
- func (v ProxyVhost) ErrorLog() string
- func (v ProxyVhost) Includes() []types.IncludeFile
- func (v ProxyVhost) Index() []string
- func (v ProxyVhost) Listen() []types.Listen
- func (v *ProxyVhost) Proxies() []types.Proxy
- func (v ProxyVhost) RateLimit() *types.RateLimit
- func (v ProxyVhost) RealIP() *types.RealIP
- func (v ProxyVhost) Redirects() []types.Redirect
- func (v ProxyVhost) RemoveConfig(name string, typ string) error
- func (v ProxyVhost) Reset() error
- func (v ProxyVhost) Root() string
- func (v ProxyVhost) SSL() bool
- func (v ProxyVhost) SSLConfig() *types.SSLConfig
- func (v ProxyVhost) Save() error
- func (v ProxyVhost) ServerName() []string
- func (v ProxyVhost) SetAccessLog(accessLog string) error
- func (v ProxyVhost) SetBasicAuth(auth map[string]string) error
- func (v ProxyVhost) SetConfig(name string, typ string, content string) error
- func (v ProxyVhost) SetEnable(enable bool) error
- func (v ProxyVhost) SetErrorLog(errorLog string) error
- func (v ProxyVhost) SetIncludes(includes []types.IncludeFile) error
- func (v ProxyVhost) SetIndex(index []string) error
- func (v ProxyVhost) SetListen(listens []types.Listen) error
- func (v *ProxyVhost) SetProxies(proxies []types.Proxy) error
- func (v ProxyVhost) SetRateLimit(limit *types.RateLimit) error
- func (v ProxyVhost) SetRealIP(realIP *types.RealIP) error
- func (v ProxyVhost) SetRedirects(redirects []types.Redirect) error
- func (v ProxyVhost) SetRoot(root string) error
- func (v ProxyVhost) SetSSLConfig(cfg *types.SSLConfig) error
- func (v ProxyVhost) SetServerName(serverName []string) error
- func (v *ProxyVhost) SetUpstreams(upstreams []types.Upstream) error
- func (v *ProxyVhost) Upstreams() []types.Upstream
- type StaticVhost
- func (v StaticVhost) AccessLog() string
- func (v StaticVhost) BasicAuth() map[string]string
- func (v StaticVhost) ClearBasicAuth() error
- func (v StaticVhost) ClearRateLimit() error
- func (v StaticVhost) ClearRealIP() error
- func (v StaticVhost) ClearSSL() error
- func (v StaticVhost) Config(name string, typ string) string
- func (v StaticVhost) Enable() bool
- func (v StaticVhost) ErrorLog() string
- func (v StaticVhost) Includes() []types.IncludeFile
- func (v StaticVhost) Index() []string
- func (v StaticVhost) Listen() []types.Listen
- func (v StaticVhost) RateLimit() *types.RateLimit
- func (v StaticVhost) RealIP() *types.RealIP
- func (v StaticVhost) Redirects() []types.Redirect
- func (v StaticVhost) RemoveConfig(name string, typ string) error
- func (v StaticVhost) Reset() error
- func (v StaticVhost) Root() string
- func (v StaticVhost) SSL() bool
- func (v StaticVhost) SSLConfig() *types.SSLConfig
- func (v StaticVhost) Save() error
- func (v StaticVhost) ServerName() []string
- func (v StaticVhost) SetAccessLog(accessLog string) error
- func (v StaticVhost) SetBasicAuth(auth map[string]string) error
- func (v StaticVhost) SetConfig(name string, typ string, content string) error
- func (v StaticVhost) SetEnable(enable bool) error
- func (v StaticVhost) SetErrorLog(errorLog string) error
- func (v StaticVhost) SetIncludes(includes []types.IncludeFile) error
- func (v StaticVhost) SetIndex(index []string) error
- func (v StaticVhost) SetListen(listens []types.Listen) error
- func (v StaticVhost) SetRateLimit(limit *types.RateLimit) error
- func (v StaticVhost) SetRealIP(realIP *types.RealIP) error
- func (v StaticVhost) SetRedirects(redirects []types.Redirect) error
- func (v StaticVhost) SetRoot(root string) error
- func (v StaticVhost) SetSSLConfig(cfg *types.SSLConfig) error
- func (v StaticVhost) SetServerName(serverName []string) error
- type Token
- type TokenType
- type VirtualHost
- func (v *VirtualHost) AddBlock(blockType string, args ...string) *Directive
- func (v *VirtualHost) AddDirective(name string, args ...string) *Directive
- func (v *VirtualHost) ExportWithOptions(options *ExportOptions, indent int) string
- func (v *VirtualHost) GetBlock(blockType string, args ...string) *Block
- func (v *VirtualHost) GetDirective(name string) *Directive
- func (v *VirtualHost) GetDirectiveValue(name string) string
- func (v *VirtualHost) GetDirectiveValues(name string) []string
- func (v *VirtualHost) GetDirectives(name string) []*Directive
- func (v *VirtualHost) HasDirective(name string) bool
- func (v *VirtualHost) RemoveDirective(name string) bool
- func (v *VirtualHost) RemoveDirectives(name string) int
- func (v *VirtualHost) SetDirective(name string, args ...string) *Directive
Constants ¶
const ( RedirectStartNum = 100 // 重定向配置起始序号 (100-199) RedirectEndNum = 199 ProxyStartNum = 200 // 代理配置起始序号 (200-299) ProxyEndNum = 299 )
配置文件序号范围
const DefaultVhostConf = `` /* 489-byte string literal not displayed */
DefaultVhostConf 默认配置模板
const DisablePage = "/opt/ace/server/apache/htdocs/stop.html"
DisablePage 禁用页面路径
const SitesPath = "/opt/ace/sites"
SitesPath 网站目录
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Block ¶
type Block struct {
Type string `json:"type"` // Directory, Location, Files 等
Args []string `json:"args"` // 块的参数
Directives []*Directive `json:"directives"`
Comments []*Comment `json:"comments"` // 块内注释
Line int `json:"line"`
Column int `json:"column"`
}
Block 配置块,如 <Directory>, <Location> 等
func (*Block) ExportWithOptions ¶
func (b *Block) ExportWithOptions(options *ExportOptions, indent int) string
ExportWithOptions 导出块指令
type Comment ¶
Comment 注释
func (*Comment) ExportWithOptions ¶
func (c *Comment) ExportWithOptions(options *ExportOptions, indent int) string
ExportWithOptions 导出注释
type Config ¶
type Config struct {
Directives []*Directive `json:"directives"`
VirtualHosts []*VirtualHost `json:"virtual_hosts"`
Comments []*Comment `json:"comments"`
Includes []*Include `json:"includes"`
}
Config Apache 配置文件的 AST 根节点
func ParseFileWithOptions ¶
func ParseFileWithOptions(filename string, options *ParseOptions) (*Config, error)
ParseFileWithOptions 从文件解析 Apache 配置(带选项)
func ParseStringWithOptions ¶
func ParseStringWithOptions(content string, options *ParseOptions) (*Config, error)
ParseStringWithOptions 从字符串解析 Apache 配置(带选项)
func (*Config) AddVirtualHost ¶
func (c *Config) AddVirtualHost(args ...string) *VirtualHost
AddVirtualHost 添加新虚拟主机到配置
func (*Config) ExportWithOptions ¶
func (c *Config) ExportWithOptions(options *ExportOptions) string
ExportWithOptions 使用指定选项导出配置
func (*Config) GetDirective ¶
GetDirective 根据名称查找指令
func (*Config) GetDirectives ¶
GetDirectives 根据名称查找所有匹配的指令
func (*Config) GetVirtualHost ¶
func (c *Config) GetVirtualHost(args ...string) *VirtualHost
GetVirtualHost 根据参数查找虚拟主机
type Directive ¶
type Directive struct {
Name string `json:"name"`
Args []string `json:"args"`
Line int `json:"line"`
Column int `json:"column"`
Block *Block `json:"block,omitempty"` // 对于有块的指令如 <Directory>
}
Directive Apache 指令
func (*Directive) ExportWithOptions ¶
func (d *Directive) ExportWithOptions(options *ExportOptions, indent int) string
ExportWithOptions 导出指令
type ExportOptions ¶
type ExportOptions struct {
// IndentStyle 缩进样式:使用空格还是制表符
IndentStyle string // "spaces" 或 "tabs"
// IndentSize 缩进大小(仅当IndentStyle为"spaces"时有效)
IndentSize int
// SortDirectives 是否对指令进行排序
SortDirectives bool
// IncludeComments 是否包含注释
IncludeComments bool
// PreserveEmptyLines 是否保留空行
PreserveEmptyLines bool
// FormatStyle 格式化风格
FormatStyle string // "compact", "standard", "verbose"
}
ExportOptions 定义导出选项
func DefaultExportOptions ¶
func DefaultExportOptions() *ExportOptions
DefaultExportOptions 返回默认的导出选项
type PHPVhost ¶
type PHPVhost struct {
// contains filtered or unexported fields
}
PHPVhost PHP 虚拟主机
func (PHPVhost) ClearBasicAuth ¶
func (v PHPVhost) ClearBasicAuth() error
func (PHPVhost) ClearRateLimit ¶
func (v PHPVhost) ClearRateLimit() error
func (PHPVhost) ClearRealIP ¶
func (v PHPVhost) ClearRealIP() error
func (PHPVhost) Includes ¶
func (v PHPVhost) Includes() []types.IncludeFile
func (PHPVhost) RemoveConfig ¶
func (PHPVhost) ServerName ¶
func (v PHPVhost) ServerName() []string
func (PHPVhost) SetAccessLog ¶
func (PHPVhost) SetBasicAuth ¶
func (PHPVhost) SetErrorLog ¶
func (PHPVhost) SetIncludes ¶
func (v PHPVhost) SetIncludes(includes []types.IncludeFile) error
func (PHPVhost) SetRateLimit ¶
func (PHPVhost) SetRedirects ¶
func (PHPVhost) SetSSLConfig ¶
func (PHPVhost) SetServerName ¶
type ParseOptions ¶
type ParseOptions struct {
// ProcessIncludes 是否处理Include指令,递归加载包含的文件
ProcessIncludes bool
// BaseDir 基础目录,用于解析相对路径的Include文件
BaseDir string
// MaxIncludeDepth 最大包含深度,防止无限递归
MaxIncludeDepth int
}
ParseOptions 定义解析器选项
type Parser ¶
type Parser struct {
// contains filtered or unexported fields
}
Parser Apache 配置文件解析器
func NewParserWithOptions ¶
func NewParserWithOptions(input io.Reader, options *ParseOptions) (*Parser, error)
NewParserWithOptions 创建一个带选项的 Apache 配置解析器
type ProxyVhost ¶
type ProxyVhost struct {
// contains filtered or unexported fields
}
ProxyVhost 反向代理虚拟主机
func NewProxyVhost ¶
func NewProxyVhost(configDir string) (*ProxyVhost, error)
NewProxyVhost 创建反向代理虚拟主机实例
func (ProxyVhost) ClearBasicAuth ¶
func (v ProxyVhost) ClearBasicAuth() error
func (*ProxyVhost) ClearProxies ¶
func (v *ProxyVhost) ClearProxies() error
func (ProxyVhost) ClearRateLimit ¶
func (v ProxyVhost) ClearRateLimit() error
func (ProxyVhost) ClearRealIP ¶
func (v ProxyVhost) ClearRealIP() error
func (*ProxyVhost) ClearUpstreams ¶
func (v *ProxyVhost) ClearUpstreams() error
func (ProxyVhost) Includes ¶
func (v ProxyVhost) Includes() []types.IncludeFile
func (*ProxyVhost) Proxies ¶
func (v *ProxyVhost) Proxies() []types.Proxy
func (ProxyVhost) RemoveConfig ¶
func (ProxyVhost) ServerName ¶
func (v ProxyVhost) ServerName() []string
func (ProxyVhost) SetAccessLog ¶
func (ProxyVhost) SetBasicAuth ¶
func (ProxyVhost) SetErrorLog ¶
func (ProxyVhost) SetIncludes ¶
func (v ProxyVhost) SetIncludes(includes []types.IncludeFile) error
func (*ProxyVhost) SetProxies ¶
func (v *ProxyVhost) SetProxies(proxies []types.Proxy) error
func (ProxyVhost) SetRateLimit ¶
func (ProxyVhost) SetRedirects ¶
func (ProxyVhost) SetSSLConfig ¶
func (ProxyVhost) SetServerName ¶
func (*ProxyVhost) SetUpstreams ¶
func (v *ProxyVhost) SetUpstreams(upstreams []types.Upstream) error
func (*ProxyVhost) Upstreams ¶
func (v *ProxyVhost) Upstreams() []types.Upstream
type StaticVhost ¶
type StaticVhost struct {
// contains filtered or unexported fields
}
StaticVhost 纯静态虚拟主机
func NewStaticVhost ¶
func NewStaticVhost(configDir string) (*StaticVhost, error)
NewStaticVhost 创建纯静态虚拟主机实例
func (StaticVhost) ClearBasicAuth ¶
func (v StaticVhost) ClearBasicAuth() error
func (StaticVhost) ClearRateLimit ¶
func (v StaticVhost) ClearRateLimit() error
func (StaticVhost) ClearRealIP ¶
func (v StaticVhost) ClearRealIP() error
func (StaticVhost) Includes ¶
func (v StaticVhost) Includes() []types.IncludeFile
func (StaticVhost) RemoveConfig ¶
func (StaticVhost) ServerName ¶
func (v StaticVhost) ServerName() []string
func (StaticVhost) SetAccessLog ¶
func (StaticVhost) SetBasicAuth ¶
func (StaticVhost) SetErrorLog ¶
func (StaticVhost) SetIncludes ¶
func (v StaticVhost) SetIncludes(includes []types.IncludeFile) error
func (StaticVhost) SetRateLimit ¶
func (StaticVhost) SetRedirects ¶
func (StaticVhost) SetSSLConfig ¶
func (StaticVhost) SetServerName ¶
type VirtualHost ¶
type VirtualHost struct {
Name string `json:"name"`
Args []string `json:"args"` // 通常是 IP:Port
Line int `json:"line"`
Column int `json:"column"`
Directives []*Directive `json:"directives"`
Comments []*Comment `json:"comments"` // 虚拟主机内的注释
}
VirtualHost 虚拟主机配置
func (*VirtualHost) AddBlock ¶
func (v *VirtualHost) AddBlock(blockType string, args ...string) *Directive
AddBlock 添加块指令(如 Directory, Location 等)
func (*VirtualHost) AddDirective ¶
func (v *VirtualHost) AddDirective(name string, args ...string) *Directive
AddDirective 为虚拟主机添加指令
func (*VirtualHost) ExportWithOptions ¶
func (v *VirtualHost) ExportWithOptions(options *ExportOptions, indent int) string
ExportWithOptions 导出虚拟主机
func (*VirtualHost) GetBlock ¶
func (v *VirtualHost) GetBlock(blockType string, args ...string) *Block
GetBlock 获取块指令
func (*VirtualHost) GetDirective ¶
func (v *VirtualHost) GetDirective(name string) *Directive
GetDirective 在虚拟主机中根据名称查找指令
func (*VirtualHost) GetDirectiveValue ¶
func (v *VirtualHost) GetDirectiveValue(name string) string
GetDirectiveValue 获取指令的第一个参数值
func (*VirtualHost) GetDirectiveValues ¶
func (v *VirtualHost) GetDirectiveValues(name string) []string
GetDirectiveValues 获取指令的所有参数值
func (*VirtualHost) GetDirectives ¶
func (v *VirtualHost) GetDirectives(name string) []*Directive
GetDirectives 在虚拟主机中根据名称查找所有匹配的指令
func (*VirtualHost) HasDirective ¶
func (v *VirtualHost) HasDirective(name string) bool
HasDirective 检查是否存在指定指令
func (*VirtualHost) RemoveDirective ¶
func (v *VirtualHost) RemoveDirective(name string) bool
RemoveDirective 删除指令
func (*VirtualHost) RemoveDirectives ¶
func (v *VirtualHost) RemoveDirectives(name string) int
RemoveDirectives 删除所有匹配名称的指令
func (*VirtualHost) SetDirective ¶
func (v *VirtualHost) SetDirective(name string, args ...string) *Directive
SetDirective 设置指令(如果存在则更新,不存在则添加)