Как получить nginx для обслуживания ресурсов, смежных с index.html, при использовании proxy_pass?
Контекст: у меня есть репозиторий github, который подает контент с использованием страниц github. При обслуживании из репозитория GHP требуется URL-адрес, соответствующий имени репозитория
rightisleft.github.io/repo_name/
В настоящее время index.html
и все подкаталоги работают как положено. Загрузка активов с (css/*, images/*)
возврат 200 с.
Однако такие ресурсы, как robots.txt
и другие файлы в корне хранилища, возвращают 404 с.
Вот мой домен .conf
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name www.redacted.com;
# SSL
ssl_certificate /etc/letsencrypt/live/redacted.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/redacted.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/redacted.com/fullchain.pem;
location / {
proxy_set_header Host rightisleft.github.io;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass https://rightisleft.github.io/redacted/;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
# HTTP redirect
server {
listen 80;
listen [::]:80;
server_name www.redacted.com,redacted.com;
include nginxconfig.io/letsencrypt.conf;
location / {
return 301 https://www.redacted.com$request_uri;
}
}
# subdomains redirect
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name redacted.com;
# SSL
ssl_certificate /etc/letsencrypt/live/redacted.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/redacted.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/redacted.com/fullchain.pem;
return 301 https://www.redacted.com$request_uri;
}
EDIT
Nginx используется для управления сертификатами, чтобы связать несколько разных микро сервисов.