Solr Multiple Hostnames

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Solr Multiple Hostnames

kway
Hello all,

Is it possible to have mutiple hostnames for a single Solr node, akin to an IIS Website with multiple host headers?

My scenario is that I have a Master/Slave configuration with a load balancer in front. The Master has a url of https://master-solr.mydomain.com and the Slave a url of https://slave-solr.mydomain.com.

The Slave node looks to the Master URL in its config for replication.

The load balancer routes to either the Master or Slave node. To date, I put an domain name on the load balancer and pointed traffic to that endpoint to then route to either Master or Slave. (Using a SANS Cert that has the Master, Slave, and LB URL).

What I want is to add a second hostname to each Solr server, such as https://solr.mydomain.com so that I target this endpoint and it routes through the LB instead of needing a domain name on the LB for the endpoint.

What I have found so far is that I can only set a single hostname in Solr.

Any ideas? What have others done?

Regards,

Kelly
Reply | Threaded
Open this post in threaded view
|

Re: Solr Multiple Hostnames

Shawn Heisey-2
On 8/9/2018 8:37 PM, Kelly Rusk wrote:
> Is it possible to have mutiple hostnames for a single Solr node, akin to an IIS Website with multiple host headers?

Solr doesn't pay attention to any host header in the HTTP request.  If
Solr receives the traffic on its TCP port, it will answer, no matter
what host value you send.  It's not possible to configure even one name,
let alone multiple names.

What is it that you're trying to accomplish that has you thinking you
need to add another hostname?  I read your message, but I do not see the
end goal.

https://home.apache.org/~hossman/#xyproblem

Thanks,
Shawn

Reply | Threaded
Open this post in threaded view
|

RE: Solr Multiple Hostnames

kway
Hi Shawn,

I want traffic passed over https to flow through the load balancer and resolve on the Solr servers by an address of https://solr.mydomain.com:8983/solr. The hostname I have set for the Solr Master is master.mydomain.com and the Slave is slave.mydomain.com.

So, are you stating that so long as my DNS has an entry for the domain of  https://solr.mydomain.com:8983/solr it should work, even if the individual Solr servers have their host set as master.mydomain.com or slave.mydomain.com.

Regards,

Kelly

-----Original Message-----
From: Shawn Heisey <[hidden email]>
Sent: Thursday, August 9, 2018 11:00 PM
To: [hidden email]
Subject: Re: Solr Multiple Hostnames

On 8/9/2018 8:37 PM, Kelly Rusk wrote:
> Is it possible to have mutiple hostnames for a single Solr node, akin to an IIS Website with multiple host headers?

Solr doesn't pay attention to any host header in the HTTP request.  If Solr receives the traffic on its TCP port, it will answer, no matter what host value you send.  It's not possible to configure even one name, let alone multiple names.

What is it that you're trying to accomplish that has you thinking you need to add another hostname?  I read your message, but I do not see the end goal.

https://home.apache.org/~hossman/#xyproblem

Thanks,
Shawn

Reply | Threaded
Open this post in threaded view
|

Re: Solr Multiple Hostnames

Shawn Heisey-2
On 8/10/2018 11:12 AM, Kelly Rusk wrote:
> I want traffic passed over https to flow through the load balancer and resolve on the Solr servers by an address of https://solr.mydomain.com:8983/solr. The hostname I have set for the Solr Master is master.mydomain.com and the Slave is slave.mydomain.com.
>
> So, are you stating that so long as my DNS has an entry for the domain of  https://solr.mydomain.com:8983/solr it should work, even if the individual Solr servers have their host set as master.mydomain.com or slave.mydomain.com.

Any request you send that's properly formatted will be answered.  If DNS
sends it to Solr, the port is correct, the protocol is correct, and all
that, it should work.  You could have the following host header in the
HTTP request that Solr receives and it would work:

Host: wibble.frongle.spoof

The *load balancer* might care about the host header, but unless you
tweak the jetty config to accomplish something different than Solr ships
with, Solr will not care what the host header contains.  You won't even
*need* a Host header.

When you configure a replication slave, you give it a URL for the
master.  That must be a good URL, of course.  The master doesn't get
told about the slaves.

Thanks,
Shawn

Reply | Threaded
Open this post in threaded view
|

Re: Solr Multiple Hostnames

kway
Thank you Shawn!

Kelly
________________________________
From: Shawn Heisey <[hidden email]>
Sent: Saturday, August 11, 2018 12:01:21 AM
To: [hidden email]
Subject: Re: Solr Multiple Hostnames

On 8/10/2018 11:12 AM, Kelly Rusk wrote:
> I want traffic passed over https to flow through the load balancer and resolve on the Solr servers by an address of https://solr.mydomain.com:8983/solr. The hostname I have set for the Solr Master is master.mydomain.com and the Slave is slave.mydomain.com.
>
> So, are you stating that so long as my DNS has an entry for the domain of  https://solr.mydomain.com:8983/solr it should work, even if the individual Solr servers have their host set as master.mydomain.com or slave.mydomain.com.

Any request you send that's properly formatted will be answered.  If DNS
sends it to Solr, the port is correct, the protocol is correct, and all
that, it should work.  You could have the following host header in the
HTTP request that Solr receives and it would work:

Host: wibble.frongle.spoof

The *load balancer* might care about the host header, but unless you
tweak the jetty config to accomplish something different than Solr ships
with, Solr will not care what the host header contains.  You won't even
*need* a Host header.

When you configure a replication slave, you give it a URL for the
master.  That must be a good URL, of course.  The master doesn't get
told about the slaves.

Thanks,
Shawn