NGINX 프록시 사용시 REMOTE_ADDR 문제
Apache => Apache 사용시 또는 Apache => Nginx 사용시 PHP에서 $_SERVER['REMOTE_ADDR'] 값이 127.0.0.1 로 나오게 됩니다.
<VirtualHost www.example.com:80>
ServerName www.example.com
DocumentRoot /var/www/html
ErrorLog logs/www.example.com-error_log
CustomLog logs/www.example.com-access_log common
ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/
</VirtualHost>
위에 처럼 아파치가 설정된 경우에는 /etc/php.ini 에 설정을 따로 해주어야 합니다.
auto_prepend_file = /etc/prepend.php
auto_prepend_file = 이 부분을 찾아서 /etc/prepend.php 를 추가하고 저장합니다.
/etc/prepend.php 생성
<?php
if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) {
$_SERVER['REMOTE_ADDR'] = $_SERVER['HTTP_X_FORWARDED_FOR'];
}
?>
모듈 재시작
아파치 + 아파치 : # systemctl restart httpd
아파치 + 엔진엑스 : # systemctl restart php-fpm
이제 확인해보세요~
'LINUX' 카테고리의 다른 글
CentOS 6.x phpMyAdmin 4.0.x 설치 (0) | 2017.07.06 |
---|---|
CentOS 6.x yum install phpmyadmin 설치에러 (0) | 2017.07.06 |
NGINX Service Unavailable (0) | 2017.07.05 |
MariaDB open_files_limit 값 변경하기 (0) | 2017.07.05 |
CentOS 7.x Apache + MariaDB + PHP 설치 쉘스크립트 (0) | 2017.07.05 |