본문 바로가기

개발관련/Linux

SELinux에서 Nginx 사용시 proxy_pass 안될 때 해결법

반응형

SELinux 계열 OS를 사용하면서, Nginx를 프록시로 세팅해서 사용할 때 proxy_pass가 안될 수도 있다.

 

이에 대한 에러 코드는 /var/log/nginx/error.log를 확인해보면 자세하게 원인을 파악해 볼 수 있다.

2020/07/18 04:08:04 [crit] 312089#312089: *5 connect() to 127.0.0.1:8080 failed 
(13: Permission denied) while connecting to upstream, client: 123.123.123.12, 
server: localhost, request: "POST /hello HTTP/1.1", 
upstream: "http://127.0.0.1:8080/hello", host: "test.hello-world.co.kr"

 

위 로그와 같이 Permission denied 에러가 발생한 경우 SELinux 자체 보안 정책 때문일 수 있다.

이 이슈를 해결하기 위해서는 아래 명령어를 실행한다.

$ setsebool -P httpd_can_network_connect 1

 

명령어 실행 후 다시 nginx proxy_pass 기능을 테스트해보면 프록싱이 잘 된다.

 

 


참고

 

(13: Permission denied) while connecting to upstream:[nginx]

I am working with configuring Django project with Nginx and Gunicorn. While I am accessing my port gunicorn mysite.wsgi:application --bind=127.0.0.1:8001 in Nginx server, I am getting the following

stackoverflow.com

 

반응형