Решение проблемы ошибок перенаправления при использовании кэш-сервера

Привет, это некомпетентный человек.
※Фотография не имеет отношения к делу. Это изображение из другой ошибки.
Когда я запускал его как кэш-сервер, по какой-то неизвестной причине иногда появлялась ошибка перенаправления, которая не исчезала, пока я не очищал кэш, что меня беспокоило, но теперь это решено.
Проблемный синтаксис. ※Частично изменено.
{
listen 443 ssl;
server_name xxx.xxx;
location / {
proxy_pass /xxxxxx/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
add_header Content-Security-Policy upgrade-insecure-requests;
ssl_certificate /xxx/xxx.pem;
ssl_certificate_key /xxx/xxx.pem;
set $do_not_cache 0;
if ($http_cookie ~ ^.*(comment_author_|wordpress_logged_in|wp-postpass_).*$) {
set $do_not_cache 1;
}
if ($request_uri ~ "^/wp-admin/.*"){
set $do_not_cache 1;
}
if ($request_uri ~ "^/wp-content/.*"){
set $do_not_cache 1;
}
if ($request_uri ~ "^/wp-includes/.*"){
set $do_not_cache 1;
}
if ($request_uri ~ "^/wp-cron.php.*"){
set $do_not_cache 1;
}
if ($request_uri ~ "^/wp-login.php.*"){
set $do_not_cache 1;
}
if ($uri ~* "\.(jpg|jpeg|png|webp|gif|mp4|css|js|ico|woff2)$") {
set $do_not_cache 0;
}
proxy_no_cache $do_not_cache;
proxy_cache_bypass $do_not_cache;
proxy_cache zone;
proxy_cache_key $scheme$proxy_host$uri$is_args$args;
proxy_cache_valid 200 201 6h;
proxy_cache_valid 302 3h;
proxy_cache_valid 301 1d;
proxy_cache_valid 404 5m;
proxy_cache_lock on;
}
}
Что я понял, когда несколько раз перестраивал его, так это то, что часто возникали циклы перенаправления с SSL-аутентификацией, поэтому я наконец-то заметил несоответствие в том, что сам ключ SSL-аутентификации, вероятно, содержал обратный прокси в своем синтаксисе, и перемещение .pem в конец решило проблему. Ниже приведен правильный синтаксис.
Также я почувствовал, что размещать ключ сразу после add_header Content-Security-Policy upgrade-insecure-requests; тоже не очень хорошо.
{
listen 443 ssl;
server_name xxx.xxx;
location / {
proxy_pass /xxxxxx/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
add_header Content-Security-Policy upgrade-insecure-requests;
set $do_not_cache 0;
if ($http_cookie ~ ^.*(comment_author_|wordpress_logged_in|wp-postpass_).*$) {
set $do_not_cache 1;
}
if ($request_uri ~ "^/wp-admin/.*"){
set $do_not_cache 1;
}
if ($request_uri ~ "^/wp-content/.*"){
set $do_not_cache 1;
}
if ($request_uri ~ "^/wp-includes/.*"){
set $do_not_cache 1;
}
if ($request_uri ~ "^/wp-cron.php.*"){
set $do_not_cache 1;
}
if ($request_uri ~ "^/wp-login.php.*"){
set $do_not_cache 1;
}
if ($uri ~* "\.(jpg|jpeg|png|webp|gif|mp4|css|js|ico|woff2)$") {
set $do_not_cache 0;
}
proxy_no_cache $do_not_cache;
proxy_cache_bypass $do_not_cache;
proxy_cache zone;
proxy_cache_key $scheme$proxy_host$uri$is_args$args;
proxy_cache_valid 200 201 6h;
proxy_cache_valid 302 3h;
proxy_cache_valid 301 1d;
proxy_cache_valid 404 5m;
proxy_cache_lock on;
}
ssl_certificate /xxx/xxx.pem;
ssl_certificate_key /xxx/xxx.pem;
}
Это решило проблему.
На этом все.
※Проблема не была решена. Добавлено во вторую часть.
Решение проблемы ошибок перенаправления при использовании кэш-сервера ②