За последние 24 часа нас посетили 22845 программистов и 1251 робот. Сейчас ищут 805 программистов ...

Почему socket получает ip сервера, а не клиента

Тема в разделе "Настройка веб-сервера", создана пользователем Stivins, 28 июн 2019.

  1. Stivins

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

    С нами с:
    3 окт 2014
    Сообщения:
    6
    Симпатии:
    0
    Плохо разбираюсь в конфигах ngnix, но после того как перевел сервер на SSL, сокет стал получать IP самого сервака, а не клиента:

    NGNIX CONF:
    Код (Text):
    1. server {
    2.     server_name site.ru www.site.ru;
    3.     return 301 https://$host:443$request_uri;
    4.     charset UTF-8;
    5.     index index.php index.html;
    6.     disable_symlinks if_not_owner from=$root_path;
    7.     include /etc/nginx/vhosts-includes/*.conf;
    8.     include /etc/nginx/vhosts-resources/site.ru/*.conf;
    9.     access_log /var/www/httpd-logs/site.ru.access.log;
    10.     error_log /var/www/httpd-logs/site.ru.error.log notice;
    11.     ssi on;
    12.     set $root_path /var/www/user/data/www/site.ru;
    13.     root $root_path;
    14.     listen 176.99.12.56:80;
    15.     location / {
    16.         location ~ [^/]\.ph(p\d*|tml)$ {
    17.             try_files /does_not_exists @fallback;
    18.         }
    19.         location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {
    20.             try_files $uri $uri/ @fallback;
    21.         }
    22.         location / {
    23.             try_files /does_not_exists @fallback;
    24.         }
    25.     }
    26.     location @fallback {
    27.         proxy_pass http://127.0.0.1:8080;
    28.         proxy_redirect http://127.0.0.1:8080 /;
    29.         proxy_set_header Host $host;
    30.         proxy_set_header X-Forwarded-For $remote_addr;
    31.         proxy_set_header X-Forwarded-Proto $scheme;
    32.         proxy_set_header X-Forwarded-Port $server_port;
    33.         access_log off;
    34.     }
    35. }
    36.  
    37. server
    38. {
    39. listen 443 ssl;
    40. ssl_certificate /etc/ssl/site.ru.crt;
    41. ssl_certificate_key /etc/ssl/site.ru.key;
    42. server_name epiclang.online www.site.ru;
    43. charset UTF-8;
    44. index index.php index.html;
    45. disable_symlinks if_not_owner from=$root_path;
    46. include /etc/nginx/vhosts-includes/*.conf;
    47. include /etc/nginx/vhosts-resources/site.ru/*.conf;
    48. access_log /var/www/httpd-logs/site.ru.access.log;
    49. error_log /var/www/httpd-logs/site.ru.error.log notice;
    50. ssi on;
    51. set $root_path /var/www/user/data/www/site.ru;
    52. root $root_path;
    53. location / {
    54.   location ~ [^/]\.ph(p\d*|tml)$ {
    55.    try_files /does_not_exists @fallback;
    56.   }
    57.   location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {
    58.    try_files $uri $uri/ @fallback;
    59.   }
    60.   location / {
    61.    try_files /does_not_exists @fallback;
    62.  
    63.   }
    64.  
    65. }
    66. location @fallback {
    67.   proxy_pass http://127.0.0.1:8080;
    68.   proxy_redirect http://127.0.0.1:8080 /;
    69.   proxy_set_header Host $host;
    70.   proxy_set_header X-Real-IP $remote_addr;
    71.   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    72.   proxy_set_header X-Forwarded-Proto $scheme;
    73.   proxy_set_header X-Forwarded-Port $server_port;
    74.   access_log off;
    75. }
    76.  
    77.  
    78. location /ws/ {
    79.                 proxy_pass http://site.ru:8000/components/socket.php;
    80.                 proxy_http_version 1.1;
    81.                 proxy_set_header Upgrade $http_upgrade;
    82.                 proxy_set_header Connection "upgrade";
    83.                 proxy_set_header Host $host;
    84.                 proxy_set_header X-Real-IP $remote_addr;
    85.                 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    86.                 proxy_set_header X-Forwarded-Proto https;
    87.                 proxy_read_timeout 999999999; # neccessary to avoid websocket timeout disconnect
    88.                 proxy_redirect off;
    89.  
    90.     }
    91.  
    92.  
    93. }
    IP получаю:
    Код (Text):
    1. socket_getpeername($socket_new, $ip);