In addition to a separate proxy you could use iptables, I use this technique for another app (running on port 5000 but requests come in port 80)...

*nat
:PREROUTING ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]

-A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 5000

COMMIT
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT





On 02/06/16 20:48, Shawn Heisey wrote:
On 6/2/2016 12:51 PM, Teague James wrote:
Thanks for that suggestion, but I had found that file and I had
changed it to 80, but still no luck. Solr isn't running because it
never started in the first place. I also tried the -p 80 flag using
the install script and it failed.
Something I just thought of, but should have remembered earlier:  In
order to bind to port 80, you must run as root.  Binding to any port
below 1024 requires privilege.  It looks like you installed Solr to run
as the user named "solr" -- so it cannot do what it is being asked to do.

It might be possible to fiddle with selinux and achieve this without
running as root, but I have no idea how that is done.  You can also
install a proxy in front of Solr that runs on port 80, and accesses Solr
via some other port.

This is one of the reasons that Solr runs on a high port number by default.

Thanks,
Shawn


Reply via email to