我已经在 Debian 服务器上安装了 Gitea,并且使用 nginx 作为反向代理并进行 SSL 设置。
当我访问 Gitea 实例时,某些字符无法正确显示。例如复选框内的勾号,以及语言选择菜单中的某些条目。
对我来说,这看起来好像页面没有以 UTF-8 显示。
但是,在我的 nginxhttp
块中我已经设置了charset UTF-8;
。
当我(没有代理)时,它会正确curl -I https://domain.tld
显示标题 。content-type: text/html; charset=UTF-8
但是当我curl -I https://git.domain.tld
(使用代理)时它不会向我显示该信息。
(但由于某种原因,我有两个x-frame-options
标题。SAMEORIGIN 和 DENY。)
在我的 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;
}