Hello!
I have recently added https support for my dspace installation, but for some reason, we are getting an error 500 when loading up
https://cuvault.cumberland.edu (our dspace url). We briefly see the DSpace homepage, but then quickly changes to the err 500 page. It loads just fine through localhost:8080 for Tomcat and 4000 for DSpace, but not for the DSpace https version. HAL works fine too when I do
https://cuvault.cumberland.edu/server, and I have done yarn test:rest and it states this:
yarn run v1.22.22
$ ts-node --project ./tsconfig.ts-node.json scripts/test-rest.ts
Building production app config
Overriding app config with c:\dspace-angular-dspace-7.6.2\config\config.yml
Overriding app config with c:\dspace-angular-dspace-7.6.2\config\config.prod.yml
...Testing connection to REST API at
https://cuvault.cumberland.edu/server/api...
RESPONSE: 200 200
Checking JSON returned for validity...
"dspaceVersion" = DSpace 7.6.2
"dspaceUI" =
http://localhost:4000 "dspaceServer" =
http://localhost:8080/server "dspaceServer" property matches UI's "rest" config? false
Does "/api" endpoint have HAL links ("_links" section)? true
Done in 2.39s.
I am not sure how to make the rest config true. Here is my local.cfg settings:
...
...
Here is my config.prod.yml settings:
ui:
ssl: false
host: localhost
port: 4000
# NOTE: Space is capitalized because 'namespace' is a reserved string in TypeScript
nameSpace: /
# The rateLimiter settings limit each IP to a 'max' of 500 requests per 'windowMs' (1 minute).
rateLimiter:
windowMs: 60000 # 1 minute
max: 500 # limit each IP to 500 requests per windowMs
# Trust X-FORWARDED-* headers from proxies (default = true)
useProxies: true
Here is my virtualhost settings through httpd.conf:
<VirtualHost *:443>
# Add your domain here. We've added "
my.dspace.edu" as an example
ServerName
cuvault.cumberland.edu # Most installs will need these options enabled to ensure DSpace knows its hostname and scheme (http or https)
# Also required to ensure correct sitemap URLs appear in /robots.txt for User Interface.
ProxyPreserveHost On
RequestHeader set X-Forwarded-Proto https
SSLEngine on
SSLCertificateFile "
****************
"
SSLCertificateKeyFile
****************
"
# LetsEncrypt certificates (and possibly others) may require a chain file be specified
# in order for the UI / Node.js to validate the HTTPS connection.
SSLCertificateChainFile "****************"
# Proxy all HTTPS requests to "/server" from Apache to Tomcat via AJP connector
ProxyPass /server ajp://localhost:8009/server
ProxyPassReverse /server ajp://localhost:8009/server
# [NEW FOR UI:] Proxy all HTTPS requests from Apache to PM2 on localhost, port 4000
# NOTE that this proxy URL must match the "ui" settings in your config.prod.yml
# (In this example:
https://my.dspace.edu/ will display the User Interface)
ProxyPass /
http://localhost:4000/ ProxyPassReverse /
http://localhost:4000/</VirtualHost>
I have tried so many combinations of changing the config.prod.yml file and the local.cfg file, and nothing has worked so far. Any help would be greatly appreciated!
Thanks!