За последние 24 часа нас посетили 18389 программистов и 1676 роботов. Сейчас ищут 1745 программистов ...

Сервер не видит моего IP

Тема в разделе "Настройка веб-сервера", создана пользователем NerdRage, 8 ноя 2016.

  1. NerdRage

    NerdRage Активный пользователь

    С нами с:
    6 июл 2016
    Сообщения:
    439
    Симпатии:
    42
    Странная штука. Мой реальный IP видно в HTTP_X_REAL_IP и HTTP_X_FORWARDED_FOR, но не видно в REMOTE_ADDR. По идеи IP ведь должен показываться в REMOTE_ADDR, правильно? У меня плагин фаерволла к Wordpress видит всех как 127.0.0.1 из-за этого. На сервере стоит Apache2 и Nginx как его прокси. На Апач установлен libapache2-mod-rpaf. В чём может быть проблема?
    Код (Text):
    1. PHP version: 7.0.9-1+deb.sury.org~trusty+1
    2. [SERVER_SOFTWARE] => Apache/2.4.7 (Ubuntu)
    3. [REQUEST_URI] => /wp-admin/options-general.php?page=cerber-settings&tab=tools
    4. [HTTPS] => on
    5. [HTTP_HOST] => example.com
    6. [HTTP_X_REAL_IP] => 46.39.34.167
    7. [HTTP_X_FORWARDED_FOR] => 46.39.34.167
    8. [HTTP_CONNECTION] => close
    9. [HTTP_USER_AGENT] => Mozilla/5.0 (Windows NT 10.0; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0
    10. [HTTP_ACCEPT] => text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    11. [HTTP_ACCEPT_LANGUAGE] => ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
    12. [HTTP_ACCEPT_ENCODING] => gzip, deflate, br
    13. [HTTP_REFERER] => https://example.com/wp-admin/options-general.php?page=cerber-settings&tab=hardening
    14. [HTTP_X_COMPRESS] => 1
    15. [HTTP_UPGRADE_INSECURE_REQUESTS] => 1
    16. [PATH] => /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
    17. [SERVER_SIGNATURE] => Apache/2.4.7 (Ubuntu) Server at example.com Port 80
    18.  
    19. [SERVER_NAME] => example.com
    20. [SERVER_ADDR] => 127.0.0.1
    21. [SERVER_PORT] => 80
    22. [REMOTE_ADDR] => 127.0.0.1
    23. [DOCUMENT_ROOT] => /home/example.com/html
    24. [REQUEST_SCHEME] => http
    25. [CONTEXT_PREFIX] =>
    26. [CONTEXT_DOCUMENT_ROOT] => /home/example.com/html
    27. [SERVER_ADMIN] => maestro.magnifico@mail.ru
    28. [SCRIPT_FILENAME] => /home/example.com/html/wp-admin/options-general.php
    29. [REMOTE_PORT] => 59044
    30. [GATEWAY_INTERFACE] => CGI/1.1
    31. [SERVER_PROTOCOL] => HTTP/1.0
    32. [REQUEST_METHOD] => GET
    33. [QUERY_STRING] => page=cerber-settings&tab=tools
    34. [SCRIPT_NAME] => /wp-admin/options-general.php
    35. [PHP_SELF] => /wp-admin/options-general.php
    36. [REQUEST_TIME_FLOAT] => 1478604051.122
    37. [REQUEST_TIME] => 1478604051
     
  2. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36
  3. NerdRage

    NerdRage Активный пользователь

    С нами с:
    6 июл 2016
    Сообщения:
    439
    Симпатии:
    42
    Я пробовал это решение, не помогло. В Nginx в fastcgi_params у меня уже было прописано:
    Код (Text):
    1. fastcgi_param   REMOTE_ADDR       $remote_addr;
    А ещё подрублен такой конфиг:
    Код (Text):
    1. proxy_redirect              off;
    2. proxy_set_header            Host $host;
    3. proxy_set_header            X-Real-IP $remote_addr;
    4. proxy_set_header            X-Forwarded-For $proxy_add_x_forwarded_for;
    Так вот, через этот конфиг $remote_addr передаётся в X-Real-IP, как видите. А в fastcgi_params почему-то та же самая переменная не работает. В конфиги виртуальных хостов тоже пробовал такое прописывать, например вот мой стандартный конфиг:

    Код (Text):
    1. server {
    2.     listen 80;
    3.     listen [::]:80;
    4.     server_name exapmle.com www.exapmle.com;
    5.     return 301 https://$host$request_uri;
    6. }
    7.  
    8. server {
    9.     listen 443 ssl;
    10.     server_name exapmle.com www.exapmle.com;
    11.     ssl_certificate /etc/nginx/exapmle.com/public.crt;
    12.     ssl_certificate_key /etc/nginx/exapmle.com/private.key;
    13.     ssl on;
    14.     ssl_prefer_server_ciphers on;
    15.    
    16.     root         /home/exapmle.com/html;
    17.     error_log     /home/exapmle.com/logs/nginx.error.log crit;
    18.     access_log     /home/exapmle.com/logs/nginx.access.log;
    19.    
    20.     location / {
    21.         proxy_pass http://127.0.0.1:81;
    22.     }
    23.  
    24.     location ~* \.(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|tar|wav|bmp|rtf|swf|ico|flv|txt|docx|xlsx)$ {
    25.         root /home/exapmle.com/html;
    26.         expires 6h;
    27.     }
    28.  
    29.     location ~ \.php$ {
    30.         fastcgi_param REMOTE_ADDR $http_x_real_ip;
    31.         #...other rules
    32.     }
    33.  
    34.     proxy_connect_timeout       1000;
    35.     proxy_send_timeout          1000;
    36.     proxy_read_timeout          1000;
    37.     send_timeout                1000;
    38. }
     
  4. topas

    topas Активный пользователь

    С нами с:
    16 авг 2006
    Сообщения:
    2.258
    Симпатии:
    36