Thursday, July 9, 2020

nginx proxy server localhost / loadbalancer permission denied

Ketika terjadi permaslasahan pada configurasi memang sangat menyebalkan tapi dari situ lah kita akan mendapat ilmu baru, pda kasus ini terjadi permasalahan "Permission denied" service yang di pakai nginx sebagai "loadbalancer" port default yang dipakai 80 tetapi dikarenakan webserverA dan webserverB menggunakan port 8080 kesulitan untuk forwarding ke webserver. cara pengecekan ya sebagaiberikut.


1. Lakukan dari luar curl -i 127.0.0.1:8080 jika terjadi seperti berikut ini.

     curl -i 127.0.0.1:8080
     HTTP/1.1 502 Bad Gateway
     Server: nginx
     Date: Wed, 08 Jul 2020 18:00:06 GMT
     Content-Type: text/html
     Content-Length: 150
     Connection: keep-alive
     <html>
     <head><title>502 Bad Gateway</title></head>
     <body>
     <center><h1>502 Bad Gateway</h1></center>
     <hr><center>nginx</center>
     </body>
     </html>

2. Cek log error pada service loadbalancer dan lalukan analisa. disini terlihat "Permission denied" bahwasan nya port 8080 belum bisa forwarding ke webserver.

2020/07/09 03:48:38 [crit] 5692#0: *1 connect() to 127.0.0.1:8080 failed (13: Permission denied) while connecting to upstream, client: 127.xxx.xxx, server: 127.0.0.1, request: "GET /favicon.ico HTTP/1.1", upstream: "http://10.20.21.42:8080/favicon.ico", host: "127.0.0.1:8080", referrer: "http://12.0.0.1:8080/"

3. Lakukan audit pada server loadbalacer.

     sudo cat /var/log/audit/audit.log | grep nginx | grep denied

"type=AVC msg=audit(1594280921.426:2062): avc:  denied  { name_connect } for  pid=5692 comm="nginx" dest=8080 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:http_cache_port_t:s0 tclass=tcp_socket permissive=0"


4. Dari permasalahan diatas port 8080 belum dapat di terus kan atau belum mendapat hak akses maka ketik perintah berikut ini.

  "/usr/sbin/setsebool httpd_can_network_connect true"

*semoga artikel ini dapat membantu*

sumber : https://stackoverflow.com/questions/23948527/13-permission-denied-while-connecting-to-upstreamnginx
https://stackoverflow.com/questions/25235453/nginx-proxy-server-localhost-permission-denied