extdir/*.json URLs are not delegated properly
Following #858 (closed), there are 3 ways to address the extdir service:
- https://civicrm.org/extdir/ - Main public address. Symfony-based.
- https://civicrm.org/extdir-backend/ - Alternate/hidden address. Drupal-based.
- https://civicrm.org/extdir-symfony/ - Alternate/hidden address. Symfony-based.
So, for example, if one requested git-urls.json
, you'd expect something similar:
- https://civicrm.org/extdir/git-urls.json - Main public address. Symfony-based.
- https://civicrm.org/extdir-backend/git-urls.json - Alternate/hidden address. Drupal-based.
- https://civicrm.org/extdir-symfony/git-urls.json - Alternate/hidden address. Symfony-based.
However, there appears to be some override in the nginx config for civicrm.org
which causes all *.json
requests to go to Drupal. This seems to be in /var/aegir/config/includes/nginx_vhost_common.conf
, although I don't understand the precedence of the various nginx rules.
The nginx config should be updated so that /extdir/*
and /extdir-symfony/*
are delegated consistently.
How can one tell if the correct content is being served?
- All links should return a valid JSON document.
- If Drupal is serving the content, then the git URLs are not normalized. Consequently,there's a mix of SSH addresses and HTTPS URLs. (Ex:
biz.jmaconsulting.sigs
hasgit@github.com:JMAConsulting/biz.jmaconsulting.sigs.git
.) - If Symfony is serving the content, then the git URLs are normalized. Consequently, there's only HTTPS URLs. (Ex:
biz.jmaconsulting.sigs
hashttps://github.com/JMAConsulting/biz.jmaconsulting.sigs.git
.)