ddev / ddev-contrib

Contrib space for DDEV services, tools, snippets, and approaches.
Apache License 2.0
162 stars 162 forks source link

Solr cloud working internally but admin interface unreachable #222

Closed very-random-man closed 1 year ago

very-random-man commented 1 year ago

Hi. I wonder if anyone can give me any clues on this. I've managed to get Solr Cloud working with 3 nodes. It is all set up as a search_api server / index and it would appear to be working as intended. Yay!

However I can't seem to get to the admin ui and I just get a 404 when I go to https://[sitename].ddev.site:8983/

If I SSH to the web container I can reach it fine from the command line with the SOLR Server URI I specified for Drupal.

Would anyone be able to shed any light on this? It seems like it should be a simple thing to sort out but I am having no luck with it. I wondered if it was something to do with solr running on http and ddev on https.

rfay commented 1 year ago

Please provide your docker-compose.solr.yaml, that will heop loads. Are you using exactly the one here?

You'll also want to take a look at

If you'd do a ddev debug test and provide the output as a gist or file or other pastebin it would help me to know about your environment too.

If you just use the ddev-drupal9-solr add-on in a dummy project (like a Drupal 9 quickstart) does it work properly? (Do a D9 quickstart and ddev get ddev/ddev-drupal9-solrl)

very-random-man commented 1 year ago

Thanks for the quick response! I'm using the standard docker-compose.solr.yaml with the three node SOLR Cloud. I have now done a completely fresh D9 quickstart site and installed the addon and I can't reach the solr admin for that either.

This is the ddev debug test output for that: https://pastebin.com/kWJm1Yd8

Is it possibly a WSL2 thing? Although I've not noticed this problem with other services running on exposed ports like MailHog or Kibana.

I've been using DDEV for a while but I'm not that knowledgeable of docker so I'm not sure how to go about troubleshooting this.

very-random-man commented 1 year ago

This is the output from docker ps which seems to indicate that the port should be accessible.

$ docker ps
CONTAINER ID   IMAGE                                                                COMMAND                  CREATED              STATUS                        PORTS
                                                                                                                                NAMES
28187cf26ccb   drud/ddev-router:v1.21.2                                             "/app/docker-entrypo…"   About a minute ago   Up About a minute (healthy)   127.0.0.1:80->80/tcp, 127.0.0.1:443->443/tcp, 127.0.0.1:8025-8026->8025-8026/tcp, 127.0.0.1:8036-8037->8036-8037/tcp, 127.0.0.1:8983->8983/tcp   ddev-router
04b9ec499f1f   drud/ddev-webserver:v1.21.2-my-drupal9-site-built                    "/start.sh"              About a minute ago   Up About a minute (healthy)   8025/tcp, 127.0.0.1:52118->80/tcp, 127.0.0.1:52117->443/tcp                                                                                      ddev-my-drupal9-site-web
eaccb2fb1953   drud/ddev-dbserver-mariadb-10.4:v1.21.2-my-drupal9-site-built        "/docker-entrypoint.…"   About a minute ago   Up About a minute (healthy)   127.0.0.1:52119->3306/tcp                                                                                                                        ddev-my-drupal9-site-db
3d704208eb2a   solr:8                                                               "bash -c 'VERBOSE=ye…"   About a minute ago   Up About a minute (healthy)   8983/tcp
                                                                                                                                ddev-my-drupal9-site-solr
49ae9d32beeb   phpmyadmin:5                                                         "/docker-entrypoint.…"   About a minute ago   Up About a minute             80/tcp
                                                                                                                                ddev-my-drupal9-site-dba
68e5de5d3287   drud/ddev-webserver:v1.21.2-tryddevproject-26715-built               "/start.sh"              34 minutes ago       Up 34 minutes (healthy)       8025/tcp, 127.0.0.1:50836->80/tcp, 127.0.0.1:50837->443/tcp                                                                                      ddev-tryddevproject-26715-web
1a6553229103   drud/ddev-dbserver-mariadb-10.4:v1.21.2-tryddevproject-26715-built   "/docker-entrypoint.…"   34 minutes ago       Up 34 minutes (healthy)       127.0.0.1:50838->3306/tcp                                                                                                                        ddev-tryddevproject-26715-db
4bf9da9b7e73   phpmyadmin:5                                                         "/docker-entrypoint.…"   34 minutes ago       Up 34 minutes                 80/tcp
                                                                                                                                ddev-tryddevproject-26715-dba
1636a6be6c4f   drud/ddev-ssh-agent:v1.21.2-built                                    "/entry.sh ssh-agent"    34 minutes ago       Up 34 minutes (healthy)
                                                                                                                                ddev-ssh-agent
rfay commented 1 year ago

Hmm, the 8983 port is not https by default; IIRC solr doesn't work right on https.

If you do a ddev describe I think you'll see that port 8983 is an http port, not https. So probably your browser is redirecting when it's not supposed to?

But somebody had a problem like this in https://discord.com/channels/664580571770388500/1069909810134397009/1069909810134397009

and their result was that chrome was automatically redirecting to https without their permission.

Make sure you use http in the URL.

Try using curl -I <URL> to see what's happening.

rfay commented 1 year ago

BTW, using Chrome I'm getting the same redirect problem; have to force the url to http.

very-random-man commented 1 year ago

I had tried that earlier and had no luck but I was trying it again with the quickstart / addon site and I can confirm it's working on the quickstart addon site now with http but I get this error on the SolrCloud site:

503: No ddev back-end site available.
This is the ddev-router container: There is no back-end webserver at the URL you specified. You may want to use "ddev start" to start the site.
rfay commented 1 year ago

Please provide the docker-compose.solr.yaml that you're using, thanks, and when you show an error message like that please show the URL you're using to get it (and try it with curl and see if you get the same thing).

very-random-man commented 1 year ago

Ha. Silly me. That 503 was because my original site was shutdown during the debug process. Also silly me as it would seem that Chrome is indeed the culprit. Even when I typed http:// Chrome was changing it to https://. I launched FireFox and now it's working. Looks like it was user error all along, with a little bit of help from Chrome. ;-)

On the plus side, I can confirm that the SolrCloud contrib works. :-)

Also, thanks for the assistance and for DDEV. It's an excellent tool! :-)

rfay commented 1 year ago

Yay!