Improve documentation for the --header parameter (#1389)

* Improve documentation for the --header parameter
* Add Support for HSTS to Enhance HTTPS Security

---------

Co-authored-by: orwithout <googoldecibel@gmail.com>
This commit is contained in:
orwithout 2024-04-26 18:00:23 +08:00 committed by GitHub
parent 2067453dea
commit c85d9e316f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 25 additions and 2 deletions

View File

@ -61,9 +61,22 @@ Sometimes this is just a more practical and quick way than doing things properly
miniserve -i 192.168.0.1 -i 10.13.37.10 -i ::1 /tmp/myshare
### Insert custom headers
miniserve --header "Cache-Control:no-cache" --header "X-Custom-Header:custom-value" -p 8080 /tmp/myshare
# Check headers in another terminal
curl -I http://localhost:8080
If a header is already set or previously inserted, it will not be overwritten.
### Start with TLS:
miniserve --tls-cert my.cert --tls-key my.key /tmp/myshare
# Fullchain TLS and HTTP Strict Transport Security (HSTS)
miniserve --tls-cert fullchain.pem --tls-key my.key --header "Strict-Transport-Security: max-age=31536000; includeSubDomains; preload" /tmp/myshare
If the parameter value has spaces, be sure to wrap it in quotes.
(To achieve an A+ rating at https://www.ssllabs.com/ssltest/, enabling both fullchain TLS and HSTS is necessary.)
### Upload a file using `curl`:
@ -314,7 +327,12 @@ Options:
[env: MINISERVE_TITLE=]
--header <HEADER>
Set custom header for responses
Inserts custom headers into the responses. Specify each header as a 'Header:Value' pair.
This parameter can be used multiple times to add multiple headers.
Example:
--header "Header1:Value1" --header "Header2:Value2"
(If a header is already set or previously inserted, it will not be overwritten.)
[env: MINISERVE_HEADER=]

View File

@ -235,7 +235,12 @@ pub struct CliArgs {
#[arg(short = 't', long = "title", env = "MINISERVE_TITLE")]
pub title: Option<String>,
/// Set custom header for responses
/// Inserts custom headers into the responses. Specify each header as a 'Header:Value' pair.
/// This parameter can be used multiple times to add multiple headers.
///
/// Example:
/// --header "Header1:Value1" --header "Header2:Value2"
/// (If a header is already set or previously inserted, it will not be overwritten.)
#[arg(
long = "header",
value_parser(parse_header),