mirror of
https://github.com/caddyserver/caddy.git
synced 2024-12-28 06:33:47 +03:00
3cfefeb0f7
* httpcaddyfile: First pass at implementing server options * httpcaddyfile: Add listener wrapper support * httpcaddyfile: Sort sbaddrs to make adapt output more deterministic * httpcaddyfile: Add server options adapt tests * httpcaddyfile: Windows line endings lol * caddytest: More windows line endings lol (sorry Matt) * Update caddyconfig/httpcaddyfile/serveroptions.go Co-authored-by: Matt Holt <mholt@users.noreply.github.com> * httpcaddyfile: Reword listener address "matcher" * Apply suggestions from code review Co-authored-by: Matt Holt <mholt@users.noreply.github.com> * httpcaddyfile: Deprecate experimental_http3 option (moved to servers) * httpcaddyfile: Remove validation step, no longer needed Co-authored-by: Matt Holt <mholt@users.noreply.github.com>
132 lines
No EOL
2.4 KiB
Text
132 lines
No EOL
2.4 KiB
Text
:8886
|
|
|
|
route {
|
|
# Add trailing slash for directory requests
|
|
@canonicalPath {
|
|
file {
|
|
try_files {path}/index.php
|
|
}
|
|
not path */
|
|
}
|
|
redir @canonicalPath {path}/ 308
|
|
|
|
# If the requested file does not exist, try index files
|
|
@indexFiles {
|
|
file {
|
|
try_files {path} {path}/index.php index.php
|
|
split_path .php
|
|
}
|
|
}
|
|
rewrite @indexFiles {http.matchers.file.relative}
|
|
|
|
# Proxy PHP files to the FastCGI responder
|
|
@phpFiles {
|
|
path *.php
|
|
}
|
|
reverse_proxy @phpFiles 127.0.0.1:9000 {
|
|
transport fastcgi {
|
|
split .php
|
|
}
|
|
}
|
|
}
|
|
----------
|
|
{
|
|
"apps": {
|
|
"http": {
|
|
"servers": {
|
|
"srv0": {
|
|
"listen": [
|
|
":8886"
|
|
],
|
|
"routes": [
|
|
{
|
|
"handle": [
|
|
{
|
|
"handler": "subroute",
|
|
"routes": [
|
|
{
|
|
"handle": [
|
|
{
|
|
"handler": "static_response",
|
|
"headers": {
|
|
"Location": [
|
|
"{http.request.uri.path}/"
|
|
]
|
|
},
|
|
"status_code": 308
|
|
}
|
|
],
|
|
"match": [
|
|
{
|
|
"file": {
|
|
"try_files": [
|
|
"{http.request.uri.path}/index.php"
|
|
]
|
|
},
|
|
"not": [
|
|
{
|
|
"path": [
|
|
"*/"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"handle": [
|
|
{
|
|
"handler": "rewrite",
|
|
"uri": "{http.matchers.file.relative}"
|
|
}
|
|
],
|
|
"match": [
|
|
{
|
|
"file": {
|
|
"split_path": [
|
|
".php"
|
|
],
|
|
"try_files": [
|
|
"{http.request.uri.path}",
|
|
"{http.request.uri.path}/index.php",
|
|
"index.php"
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"handle": [
|
|
{
|
|
"handler": "reverse_proxy",
|
|
"transport": {
|
|
"protocol": "fastcgi",
|
|
"split_path": [
|
|
".php"
|
|
]
|
|
},
|
|
"upstreams": [
|
|
{
|
|
"dial": "127.0.0.1:9000"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"match": [
|
|
{
|
|
"path": [
|
|
"*.php"
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |