Permission denied


#1

All http requests to MapD are being denied when made from the localhost. I’ve connected from a separate machine on the local area network using Map-Connector in nodejs, but I’ve always had to use port 9092, which in the mapd.conf.in file is designated for web connections.

When I’m running a script from the localhost against port 9092 using the identical credentials I get a permission denied error. When I try using port 9090, which is designated as http-port in mapd.conf.in file I still get permission denied. When I try using port 9091, like mapdql uses (mapdql.cpp line 1071) I still get permission denied. The only way I can access mapd is from a separate machine.

Ports 9090, 9091, and 9092 are open on the centos 7 system running mapd. Those ports are closed at the sonicwall from traffic outside of the local area network.

The broad question is something about how mapd handles different origins, but the specific question is how can I make a request of mapd from a server running on the same machine mapd is running on?


How do you return a row from a query outside of the mapdql console?
#2

With binary requests against local host using python connector I have any problem connecting to mapd database server on port 9091; also I haven’t any problem using a browser calling local host on mapd webserver


#3

All this time and all this trouble and the problem was SELinux. Sorry to bother, but if someone else ever runs into this problem, SELinux has a setting:

httpd_can_network_connect --> off.

In linux commandline run the command:

setsebool httpd_can_network_connect=1

There wasn’t anything about it in the installation tutorial, and strangely I could make remote calls to remote hosts away from the server from within a nodejs server or an apache server and I could cURL into the localhost from the command line without this setting. I could not connect to localhost on ports 9090-9092 from any http service running on the system until I had made this change in SELinux.