В итоге нашел в чем была проблема - proxy_protocol.
Чтобы заработало нужно из /opt/nginx/stream.conf.d/*.conf удалить строчку:
proxy_protocol on;
А из /opt/nginx/http.conf.d/*.conf удалить всё что связано с proxy_protocol (для наглядности закомментировал ненужное):
server_tokens off;
charset utf-8;
server {
listen 80 default_server;
server_name _;
return 301 https://$host$request_uri;
}
server {
listen 7443 ssl;
# listen 7443 ssl proxy_protocol;
# set_real_ip_from 127.0.0.1;
# real_ip_header proxy_protocol;
http2 on;
ssl_certificate /etc/letsencrypt/live/exemple.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/exemple.com/privkey.pem;
server_name sandro.run;
root /var/www/html;
index index.php index.html index.htm;
location ~ /.well-known/acme-challenge/ {
root /var/www/certbot;
}
location /test {
proxy_pass http://helloworld:8000/;
}
}
После этого заработал, но есть и проблема. Из-за отключения proxy_protocol в логах обращений к сайту IP посетителей пишутся как 127.0.0.1. Пример решения этой проблемы, вроде, есть, но буду заниматься этим чуть позже и если решу проблему, то дополню ответ.
P.S.
Спасибо автору статьи
https://coyotle.ru/posts/xray-and-nginx/ из которой были взяты конфиги nginx, xray.