proxy_pass 설정이 제대로 되어 있고, proxy_set_header를 맞게 설정했을 경우는 SELinux 설정 문제이다.
다음과 같이 설정하여 문제를 해결한다.
# setsebool -P httpd_can_network_connect true
Great Architect & Artist
지혜 있는 자는 궁창의 빛과 같이 빛날 것이요 많은 사람을 옳은 데로 돌아오게 한 자는 별과 같이 영원토록 빛나리라 (단 12:3)
# setsebool -P httpd_can_network_connect true
bind() to 0.0.0.0:8065 failed (13: Permission denied)SElinux에서 8065 포트는 사용하지 못하도록 막혀 있어서 발생한 오류.
# semanage port -l | grep http_port_t만약 semanage command를 사용할 수 없다는 메시지가 뜨면, 다음으로 라이브러리를 확인하여 설치한다.
# yum provides /usr/sbin/semanage
# yum install policycoreutils-python -y
# semanage port -a -t http_port_t -p tcp 80653. nginx 재기동
yum install -y geoip #install location : /usr/share/GeoIP/2. nginx module dynamic 설치
yum install -y nginx-module-geoip #install location : /etc/nginx/modules/3. nginx 설정 변경
vi /etc/nginx/nginx.conf
#nginx 설정 파일의 맨 위에 다음 2줄 추가
load_module modules/ngx_http_geoip_module.so;
load_module modules/ngx_stream_geoip_module.so;
4. nginx 설정 syntax checkhttp {
......
# 아래 설정 추가
# geoip national data file location
geoip_country /usr/share/GeoIP/GeoIP.dat;
# geoip national code mapping, default no, korea yes
map $geoip_country_code $allowed_country {
default no;
KR yes;
}
#log_format에 국가코드 출력
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent $proxy_host $upstream_addr "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" "$geoip_country_code"';
nginx -t5. nginx 재기동
service nginx restart
service nginx status
more..
댓글을 달아 주세요
댓글 RSS 주소 : http://www.yongbi.net/rss/comment/873