Matcher rules determine if a particular request should be forwarded to a backend
if any rule matches
if all rules match
In order to use regular expressions with Host and Path matchers, you must declare an arbitrarily named variable followed by the colon-separated regular expression, all enclosed in curly braces.
Use a *Prefix* matcher if your backend listens on a particular base path but also serves requests on sub-paths.
For instance, PathPrefix: /products would match /products but also /products/shoes and /products/shirts.
Since the path is forwarded as-is, your backend is expected to listen on /products
Use Path if your backend listens on the exact path only. For instance, Path: /products would match /products but not /products/shoes.
Modifier rules ALWAYS apply after the Matcher rules.
A backend is responsible to load-balance the traffic coming from one or more frontends to a set of http servers
wrr: Weighted Round Robin
drr: Dynamic Round Robin: increases weights on servers that perform better than others.
A circuit breaker can also be applied to a backend, preventing high loads on failing servers.
To proactively prevent backends from being overwhelmed with high load, a maximum connection limit can also be applied to each backend.
Sticky sessions are supported with both load balancers.
When sticky sessions are enabled, a cookie is set on the initial request.
The check is defined by a path appended to the backend URL and an interval (given in a format understood by time.ParseDuration) specifying how often the health check should be executed (the default being 30 seconds).
Each backend must respond to the health check within 5 seconds.
The static configuration is the global configuration which is setting up connections to configuration backends and entrypoints.
We only need to enable watch option to make Træfik watch configuration backend changes and generate its configuration automatically.
Separate the regular expression and the replacement by a space.
a comma-separated key/value pair where both key and value must be literals.
namespacing of your backends happens on the basis of hosts in addition to paths
Modifiers will be applied in a pre-determined order regardless of their order in the rule configuration section.
customize priority
Custom headers can be configured through the frontends, to add headers to either requests or responses that match the frontend's rules.
Security related headers (HSTS headers, SSL redirection, Browser XSS filter, etc) can be added and configured per frontend in a similar manner to the custom headers above.
Servers are simply defined using a url. You can also apply a custom weight to each server (this will be used by load-balancing).
Maximum connections can be configured by specifying an integer value for maxconn.amount and maxconn.extractorfunc which is a strategy used to determine how to categorize requests in order to evaluate the maximum connections.
The objective of Let’s Encrypt and the ACME protocol is to make it possible to set up an HTTPS server and have it automatically obtain a browser-trusted certificate, without any human intervention.
First, the agent proves to the CA that the web server controls a domain.
Then, the agent can request, renew, and revoke certificates for that domain.
The first time the agent software interacts with Let’s Encrypt, it generates a new key pair and proves to the Let’s Encrypt CA that the server controls one or more domains.
The Let’s Encrypt CA will look at the domain name being requested and issue one or more sets of challenges
different ways that the agent can prove control of the domain
Once the agent has an authorized key pair, requesting, renewing, and revoking certificates is simple—just send certificate management messages and sign them with the authorized key pair.
A
certificate is considered a duplicate of an earlier certificate if they contain
the exact same set of hostnames, ignoring capitalization and ordering of
hostnames.
We also have a Duplicate Certificate limit of 5 certificates per week.
a
Renewal Exemption to the Certificates per Registered Domain limit.
The Duplicate Certificate limit and the Renewal Exemption ignore the public key
and extensions requested
You can issue 20 certificates in
week 1, 20 more certificates in week 2, and so on, while not interfering with
renewals of existing certificates.
Revoking certificates does not reset rate limits
If you’ve hit a rate limit, we don’t have a way to temporarily reset it.
get a list of certificates
issued for your registered domain by searching on crt.sh
Revoking certificates does not reset rate limits
If you have a large number of pending authorization objects and are getting a
rate limiting error, you can trigger a validation attempt for those
authorization objects by submitting a JWS-signed POST to one of its challenges, as
described in the
ACME spec.
If you do not
have logs containing the relevant authorization URLs, you need to wait for the
rate limit to expire.
having a large number of pending authorizations is generally the
result of a buggy client
Do not use the Directory Manager account to authenticate remote services to the IPA LDAP server. Use a system account
The reason to use an account like this rather than creating a normal user account in IPA and using that is that the system account exists only for binding to LDAP. It is not a real POSIX user, can't log into any systems and doesn't own any files.
This use also has no special rights and is unable to write any data in the IPA LDAP server, only read.
When possible, configure your LDAP client to communicate over SSL/TLS.
The IPA CA certificate can be found in /etc/ipa/ca.crt
a proxy is associated with the client(s), while a reverse proxy is associated with the server(s); a reverse proxy is usually an internal-facing proxy used as a ‘front-end’ to control and protect access to a server on a private network.
the restart: always instruction will allow our reverse-proxy service to restart automatically, on its own.
add an [api] section to enable the dashboard and the API
"a proxy is associated with the client(s), while a reverse proxy is associated with the server(s); a reverse proxy is usually an internal-facing proxy used as a 'front-end' to control and protect access to a server on a private network."