Назад | Перейти на главную страницу

Обратный прокси-сервер nginx utf-8 не работает?

Я установил Gitea на сервер Debian и использую nginx в качестве обратного прокси и для настройки SSL.

Когда я посещаю свой экземпляр Gitea, некоторые символы отображаются неправильно. Это, например, галочки внутри флажков, а также некоторые записи в меню выбора языка.

Для меня это похоже на то, что страница не отображается в UTF-8.

Однако в моем nginx http блок, который я установил charset UTF-8;.

Когда я curl -I https://domain.tld (без прокси) он показывает мне заголовок content-type: text/html; charset=UTF-8 правильно.

Но когда я curl -I https://git.domain.tld (с прокси) он не покажет мне эту информацию.

(Но у меня почему-то два x-frame-options заголовки. САМЕОРИГИН и ОТКАЗ.)

внутри моего серверного блока nginx vHost у меня есть этот блок местоположения для прокси:

location / {
    proxy_pass http://localhost:3000;
}

Я уже пробовал proxy_pass_header Content-Type; или charset UTF-8; внутри блока локации. Это тоже не работает.

Полная конфигурация vHost выглядит так:

server {
    listen 443 ssl http2;

    server_name git.domain.tld;

    access_log /var/log/nginx/gitea-proxy_access.log;
    error_log /var/log/nginx/gitea-proxy_error.log;

    # SSL Certificates
    ssl_certificate /etc/letsencrypt/domain.tld/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/domain.tld/key.pem;
    ssl_trusted_certificate /etc/letsencrypt/domain.tld/ca.pem;

    # SSL Configurations
    include /etc/nginx/snippets.d/ssl.conf;

    # Security Headers
    include /etc/nginx/snippets.d/headers.conf;

    location / {
        proxy_pass http://localhost:3000;
    }
}

# Redirect HTTP to HTTPS
server {
    listen 80;
    #listen [::]:80;
    server_name git.domain.tld;
    return 301 https://$server_name$request_uri;

    access_log /var/log/nginx/gitea-proxy_access.log;
    error_log /var/log/nginx/gitea-proxy_error.log;
}