274 Commits

Author SHA1 Message Date
Daniel Micay
e7efc21340 drop configuration for clearing legacy push cookie 2022-05-03 00:25:07 -04:00
Daniel Micay
271d04b876 add resolver setup to baseline configuration 2022-05-02 04:09:18 -04:00
Daniel Micay
15946d5ff9 disable traditional stateful TLS session cache
This is useless for TLSv1.3 since there's no longer any distinction in
the protocol based on whether the server is using stateless or stateful
session resumption. OpenSSL has a non-standard anti-replay mechanism for
0-RTT based on stateful session resumption but 0-RTT still ends up being
a downgrade for the TLS security properties. nginx disables that feature
since otherwise 0-RTT wouldn't work with the default stateless approach.

Since this cache is only used for TLSv1.2 when stateless resumption
isn't disabled and nearly all TLSv1.2 clients support tickets, it isn't
getting any significant use. It provides worse forward secrecy than
tickets because we implement ticket key rotation based on the expiry
time and sessions aren't actively purged from the stateful cache when
they expire. Cached session state varies in size and nginx ends up
writing errors to the log when clearing out a session fails to make room
for a new one due to it being larger. It's best to finally get rid of
this flawed approach to session resumption.

TLSv1.3 provides the option of forward secrecy for resumed sessions and
it's the only approach that's normally enabled so we don't need to worry
about this anymore once TLSv1.2 is disabled as long as we never enable
0-RTT which weakens forward secrecy and other security properties.
2022-04-30 22:53:28 -04:00
Daniel Micay
445e6db406 use IPv6 only for internal nginx status service 2022-04-17 13:13:45 -04:00
Daniel Micay
dff85fd680 add transparent Zcash donation address 2022-03-06 21:40:49 -05:00
Daniel Micay
83a3aaf65d extend redirect.js preload / push to /install/ 2022-02-19 10:06:06 -05:00
Daniel Micay
0786d86882 set up preload and push for redirect.js 2022-02-19 09:53:05 -05:00
Daniel Micay
e5e3577751 simplify configuration 2022-02-19 08:50:15 -05:00
Daniel Micay
6d5f192ccb avoid redirect for double slash in parameters 2022-02-01 21:24:51 -05:00
Daniel Micay
3a65315855 add grapheneos.dev domain 2022-01-27 19:21:55 -05:00
Daniel Micay
6b2f1e8220 workaround for odd CSP semantics in Chromium 97 2022-01-13 12:23:53 -05:00
Daniel Micay
53e792cffa improve approach to redundant slash redirection
Since merge_slashes gets rid of the redundant slashes, a no-op rewrite
will get rid of all of them at once instead of requiring one redirect to
get rid of each redundant slash.
2022-01-03 06:46:30 -05:00
Daniel Micay
1bfe29f2eb rename push cookie for clarity 2021-12-11 10:18:04 -05:00
Daniel Micay
a9a1a3987a add preload/push for main page phone image 2021-12-11 09:50:51 -05:00
Daniel Micay
f7f57175e4 set charset in Content-Type header for CSS too 2021-12-10 05:57:35 -05:00
Daniel Micay
7010b230c5 use http2_push instead of http2_push_preload
This avoids needing to conditionally add nopush to each preloaded
resource in the Link header. There's also no support for pushing
JavaScript modules via http2_push_preload since nginx doesn't have
support for rel=modulepreload.
2021-12-05 02:48:44 -05:00
Daniel Micay
2cc8f2f9a6 no need for case insensitive match for cookie name 2021-12-04 08:09:14 -05:00
Daniel Micay
fddfa68695 avoid sending unnecessary push cookie 2021-12-04 07:59:53 -05:00
Daniel Micay
5345cf5927 simplify /mask-icon.svg redirect
This no longer needs to use a regular expression as a workaround now
that file path replacement uses template syntax.
2021-11-27 00:59:14 -05:00
Daniel Micay
6b26326db5 use preload header with nopush for repeat visitors 2021-11-26 21:27:41 -05:00
Daniel Micay
4027afcf6e add integrity metadata to preload header 2021-11-26 19:41:37 -05:00
Daniel Micay
fd59a56501 disable idle-detection in Permissions-Policy 2021-11-24 02:10:25 -05:00
Daniel Micay
f0479f1393 update font version for preload/push 2021-11-23 23:55:51 -05:00
Daniel Micay
75f4b33323 set up SRI for future use by CSP v3 2021-11-18 19:08:54 -05:00
Rohan Kumar
9918b7cc77 Nginx regex: don't capture groups unnecessarily
Good regex form: use "?:" to specify non-capturing groups when sections
don't actually reference matched groups. There's no use saving a capture
in these situations.
2021-11-11 14:59:35 -05:00
Daniel Micay
9d87e3e5b8 nginx: use syslog for error_log 2021-09-07 08:00:17 -04:00
Daniel Micay
0e2e39ad52 add another FAQ redirect 2021-08-30 18:49:23 -04:00
Daniel Micay
598ce1fef8 add redirect for broken backlinks with comma 2021-08-22 12:29:27 -04:00
Daniel Micay
d577da336f add SVG Tiny Portable/Secure icon for BIMI
https://bimigroup.org/
https://datatracker.ietf.org/doc/html/draft-svg-tiny-ps-abrotman-00
2021-08-10 02:25:41 -04:00
Daniel Micay
89095afe99 rename primary to 0 and replica1 to 1 2021-07-30 03:02:46 -04:00
Daniel Micay
e1ccefd1fa add support for ACME with replicas 2021-07-30 02:32:33 -04:00
Daniel Micay
5a6fe754df nginx: use build defaults for user/pid settings
This varies based on the OS and packaging. It's best to make the
assumption that it's a reasonable nginx package rather than reducing
portability.
2021-06-26 21:57:04 -04:00
Daniel Micay
e06942c803 cleaner nginx status monitoring configuration 2021-06-22 23:43:14 -04:00
Daniel Micay
9c8deacbd9 add back legacy redirect 2021-06-21 22:23:07 -04:00
Daniel Micay
4f829a530b set security headers for Matrix client metadata 2021-06-21 03:49:39 -04:00
Daniel Micay
e941ca1a40 fix redirects for broken twipu links 2021-06-13 04:05:18 -04:00
Daniel Micay
bd3cfebafd fix object replacement character redirect 2021-06-11 10:18:57 -04:00
Daniel Micay
d0e54474fe convert if back into location block 2021-06-07 12:57:33 -04:00
Daniel Micay
6a54597de8 remove legacy underscore redirects (unused) 2021-06-04 23:37:11 -04:00
Daniel Micay
23455a1879 add redirect away from old SVG favicon 2021-06-03 17:04:37 -04:00
Daniel Micay
b620834f20 reorder nginx location blocks 2021-06-02 21:31:46 -04:00
Daniel Micay
5262ad4ee7 make index files into an implementation detail 2021-06-02 20:57:01 -04:00
Daniel Micay
81fa2a6f23 treat html extension as an implementation detail
These redirects aren't being used for any of the actual pages based on
the access logs.
2021-06-02 20:07:52 -04:00
Daniel Micay
e1ea020f2a add grapheneos.ca domain 2021-05-31 14:51:56 -04:00
Daniel Micay
4f144773e3 add grapheneos.net domain 2021-05-28 16:15:39 -04:00
Daniel Micay
1b244d9543 add Matrix client homeserver delegation 2021-05-24 12:10:16 -04:00
Daniel Micay
8e31124e3c add Matrix homeserver delegation 2021-05-24 11:30:14 -04:00
Daniel Micay
4c1e81764a drop types_hash_max_size configuration 2021-05-23 10:59:06 -04:00
Daniel Micay
9a27eeecbd simplify favicon.svg rewrite 2021-05-19 09:28:24 -04:00
Daniel Micay
aafebaed00 add /favicon.svg location block 2021-05-19 09:08:27 -04:00