Назад | Перейти на главную страницу

как исправить ошибку «Неверная команда set_real_ip_from»?

Я использую centos 6, nginx в качестве обратного прокси, directadmin и cloudflare. Я выполнил инструкции, чтобы получить IP реальных посетителей, как показано ниже:

 $ nano /etc/nginx/nginx.conf

добавил их в http {

set_real_ip_from  192.168.1.0/24;
set_real_ip_from  192.168.2.1;
set_real_ip_from  2001:0db8::/32;
real_ip_header    X-Forwarded-For;
real_ip_recursive on;

перезапуск nginx в порядке, но когда я перезапускаю httpd, появляется эта ошибка:

   Invalid command 'set_real_ip_from', perhaps misspelled or defined 
by a module not included in the server configuration

затем я попытался включить ngx_http_realip_module . Я ничего не мог сделать, но думаю, что он включен по умолчанию ..

$ nginx -V

результат:

nginx version: nginx/1.8.1
built by gcc 4.4.7 20120313 (Red Hat 4.4.7-16) (GCC)
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: --user=nginx --group=nginx --prefix=/usr
 --sbin-path=/usr/s    bin --conf-path=/etc/nginx/nginx.conf --pid-path=/var/run/nginx.pid
 --http-log-p    ath=/var/log/nginx/access_log --error-log-path=/var/log/nginx/error_log --with-i   pv6 --without-mail_imap_module 
 --without-mail_smtp_module --with-http_ssl_module   --with-http_realip_module --with-http_stub_status_module 
 --with-http_gzip_stati   c_module --with-http_dav_module --with-cc-opt=''-D FD_SETSIZE=32768''

Кто-нибудь может мне с этим помочь?

Похоже, этот модуль включен (--with-http_realip_module), но вы только что скопировали пример конфигурации со страницы модуля.

Директива set_real_ip должна быть установлена ​​на внутреннем сервере, а не на прокси-сервере. Тогда вам нужно использовать только одну строку, которая должна быть:

set_real_ip_from  192.168.2.1;

но замените 192.168.2.1 локальным адресом, который слушает ваш внутренний сервер.

РЕДАКТИРОВАТЬ: поэтому, чтобы ответить на дополнительную информацию, которую вы добавили в комментариях, httpd.conf - это файл конфигурации для apache (httpd), и директивы nginx не будут работать в них. Вы должны прочитать документацию по apache, чтобы настроить его так, как вам нужно. (Кажется, модуль rpaf именно тот, что вы ищете. Это может быть полезно для вас)