Задать вопрос
  • DOCKER + VLESS + NGINX. Как настроить сайт и VLESS на одном порту?

    @Sandr0oo Автор вопроса
    В итоге нашел в чем была проблема - 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.
    Ответ написан
    Комментировать