mirror of
https://github.com/caddyserver/website.git
synced 2025-04-22 21:16:15 -04:00
docs: New logging & arch articles; various minor improvements
This commit is contained in:
parent
e918275b63
commit
fe58da0269
9 changed files with 365 additions and 19 deletions
|
@ -112,6 +112,32 @@ reverse_proxy localhost:9000 localhost:9001 {
|
|||
Here, `lb_policy` is a subdirective to `reverse_proxy` (it sets the load balancing policy to use between backends).
|
||||
|
||||
|
||||
### Tokens and quotes
|
||||
|
||||
The Caddyfile is lexed into tokens before being parsed. Whitespace is significant in the Caddyfile, because tokens are separated by whitespace.
|
||||
|
||||
Often, directives expect a certain number of arguments; if a single argument has a value with whitespace, it would be lexed as two separate tokens:
|
||||
|
||||
```
|
||||
directive abc def
|
||||
```
|
||||
|
||||
This could be problematic and return errors or unexpected behavior.
|
||||
|
||||
If `abc def` is supposed to be the value of a single argument, it needs to be quoted:
|
||||
|
||||
```
|
||||
directive "abc def"
|
||||
```
|
||||
|
||||
Quotes can be escaped if you need to use quotes in quoted tokens, too:
|
||||
|
||||
```
|
||||
directive "\"abc def\""
|
||||
```
|
||||
|
||||
Inside quoted tokens, all other characters are treated literally, including spaces, tabs, and newlines.
|
||||
|
||||
|
||||
|
||||
## Addresses
|
||||
|
@ -120,10 +146,6 @@ An address always appears at the top of the site block, and is usually the first
|
|||
|
||||
These are examples of valid addresses:
|
||||
|
||||
<aside class="tip">
|
||||
<a href="/docs/automatic-https">Automatic HTTPS</a> is enabled if your site's address contains a hostname or IP address. This behavior is purely implicit, however, so it never overrides any explicit configuration. For example, if the site's address is <code>http://example.com</code>, auto-HTTPS will not activate because the scheme is explicitly <code>http://</code>.
|
||||
</aside>
|
||||
|
||||
- `localhost`
|
||||
- `example.com`
|
||||
- `:443`
|
||||
|
@ -133,6 +155,10 @@ These are examples of valid addresses:
|
|||
- `[::1]:2015`
|
||||
- `example.com/foo/*`
|
||||
|
||||
<aside class="tip">
|
||||
<a href="/docs/automatic-https">Automatic HTTPS</a> is enabled if your site's address contains a hostname or IP address. This behavior is purely implicit, however, so it never overrides any explicit configuration. For example, if the site's address is <code>http://example.com</code>, auto-HTTPS will not activate because the scheme is explicitly <code>http://</code>.
|
||||
</aside>
|
||||
|
||||
From the address, Caddy can potentially infer the scheme, host, port, and path of your site.
|
||||
|
||||
If you specify a hostname, only requests with a matching Host header will be honored. In other words, if the site address is `localhost`, then Caddy will not match requests to `127.0.0.1`.
|
||||
|
|
|
@ -67,13 +67,13 @@ Because matcher tokens all work the same, the various possibilities for the matc
|
|||
Many directives manipulate the HTTP handler chain. The order in which those directives are evaluated matters, so a default ordering is hard-coded into Caddy:
|
||||
|
||||
```
|
||||
root
|
||||
|
||||
header
|
||||
|
||||
redir
|
||||
rewrite
|
||||
|
||||
root
|
||||
|
||||
uri
|
||||
try_files
|
||||
|
||||
|
|
|
@ -138,14 +138,14 @@ Full matcher documentation can be found [in each respective matcher module's doc
|
|||
|
||||
### expression
|
||||
|
||||
⚠️ _This module is still experimental and, as such, may experience breaking changes._
|
||||
|
||||
```
|
||||
expression <cel...>
|
||||
```
|
||||
|
||||
By any [CEL (Common Expression Language)](https://github.com/google/cel-spec) expression that returns `true` or `false`.
|
||||
|
||||
⚠️ This module is still experimental and, as such, may experience breaking changes.
|
||||
|
||||
As a special case, Caddy [placeholders](/docs/conventions#placeholders) (or [Caddyfile shorthands](/docs/caddyfile/concepts#placeholders)) may be used in these CEL expressions, as they are preprocessed and converted to regular CEL function calls before being interpreted by the CEL environment.
|
||||
|
||||
Examples:
|
||||
|
@ -167,7 +167,7 @@ file {
|
|||
|
||||
By files.
|
||||
|
||||
- `root` defines the directory in which to look for files. Default is the current working directory, or the `root` [variable](/docs/modules/http.handlers.vars) (`{http.vars.root}`) if set.
|
||||
- `root` defines the directory in which to look for files. Default is the current working directory, or the `root` [variable](/docs/modules/http.handlers.vars) (`{http.vars.root}`) if set (can be set via the [`root` directive](/docs/caddyfile/directives/root)).
|
||||
- `try_files` checks files in its list that match the try_policy.
|
||||
- `try_policy` specifies how to choose a file. Default is `first_exist`.
|
||||
- `first_exist` checks for file existence. The first file that exists is selected.
|
||||
|
@ -175,6 +175,8 @@ By files.
|
|||
- `largest_size` chooses the file with the largest size.
|
||||
- `most_recent_modified` chooses the file that was most recently modified.
|
||||
|
||||
An empty `file` matcher will see if the requested file (verbatim from the URI, relative to the [site root](/docs/caddyfile/directives/root)) exists.
|
||||
|
||||
|
||||
### header
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue