Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • A possible configuration issue in the frontend or backend.
    • Check the "rest" section of your config.*.yml (or environment.*.ts for 7.1 or 7.0) configuration file for the User Interface.  That configuration section defines which REST API the UI will attempt to use.  If the settings do NOT map to a valid DSpace REST API, then you will see this "No _links section found.." error.  Keep in mind, the REST API must use HTTPS (the only exception is if both the frontend and backend are running on "localhost"-based URLs)
    • Check the "dspace.ui.url" configuration of your backend & verify it corresponds to the public URL of the User Interface (i.e. the exact same URL you use in your browser)
    • Verify the backend "trusts" the frontend via the "rest.cors.allowed-origins" configuration (in rest.cfg or local.cfg).  This setting must list all web-based clients which are trusted by the backend (REST API).  By default, "dspace.ui.url" should be listed... but you should verify it has not been modified.
  • A possible SSL certificate issue. This issue may also appear if the REST API's SSL Certificate is either untrusted (by the frontend) or expired
    • If you are using a Let's Encrypt style certificate, you may need to modify your backend's Apache settings to also provide a Chain File as follows:

      Code Block
      # For example: /etc/letsencrypt/live/[domain]/cert.pem
      SSLCertificateFile [full-path-to-PEM-cert]
      # For example: /etc/letsencrypt/live/[domain]/privkey.pem
      SSLCertificateKeyFile [full-path-to-cert-KEY]
      # For example: /etc/letsencrypt/live/[domain]/chain.pem
      SSLCertificateChainFile [full-path-to-chain-file]


    • Per the Apache docs, you can also use the SSLCertificateFile setting to specify intermediate CA certificates along with the main cert.
    • For self-signed certs, see also "Using a Self-Signed SSL Certificate causes the Frontend to not be able to access the Backend" common issue listed below.
  • Something blocking access to the REST API. This may be a proxy issue, a firewall issue, or something else generally blocking the port (e.g. port 443 for SSL).
    • Verify that you can access the REST API from the machine where Node.js is running (i.e. your UI is running).  For example try a simple "wget" or "curl" to verify the REST API is returning expected JSON similar to our demo API at https://api7.dspace.org/server/api

      Code Block
      # Attempt to access the REST API via HTTPS from command-line on the machine where Node.js is running.
      # If this fails or throws a SSL cert error, you must fix it.
      wget https://[rest.host]/server/api


    • In most production scenarios, your REST API should be publicly accessible on the web, unless you are guaranteed that all your DSpace users will access the site behind a VPN or similar.  So, this "No _links section found" error may also occur if you are accessing the UI from a client computer/web browser which is unable to access the REST API.

...