@kovalr

Почему nginx reverse proxy для owncloud не показывает реальный IP клиента?

owncloud подымается в docker-compose, ssl через nginx reverse proxy.

Конфиг nginx

server {
    listen   443 ssl;
    server_name 192.168.1.4;

    root /srv/docroot/;

    ssl_certificate         /etc/nginx/ssl/ssl-cert.crt;
    ssl_certificate_key     /etc/nginx/ssl/ssl-cert.key;
    ssl_trusted_certificate /etc/nginx/ssl/ca-bundle;

    access_log off;

    location / {
        proxy_pass              http://owncloud:8080/;
        
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_redirect off;
        proxy_buffering off;
     }
}


В логах docker-compose показывает локальную IP

owncloud_1  | 172.18.0.3 - - [16/Jul/2020:11:05:36 +0000] "GET /ocs/v2.php/apps/notifications/api/v1/notifications?format=json HTTP/1.0" 200 810 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36"
owncloud_1  | 127.0.0.1 - - [16/Jul/2020:11:05:46 +0000] "GET /status.php HTTP/1.1" 200 1068 "-" "curl/7.65.3"


Вместо 172.18.0.3 должен быть реальный адрес.
Подскажите в чем проблема?
  • Вопрос задан
  • 382 просмотра
Пригласить эксперта
Ответы на вопрос 1
@q2digger
никого не трогаю, починяю примус
Думаю, что реальный IP клиента теряется где то в дебрях докеровского NAT-а.
Надо вывешивать порты ревер-прокси в сеть поднятую в опцией --mode: host

вот обсуждение, там сварм, но суть одна https://stackoverflow.com/questions/49415595/docke...
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы