@vkuznet: as we discussed in Teams, please reconfigure the DOI service so that the DOI landing pages will be publicly accessible when the DOI is published. Here is your outline from chat:
- define DNS name for our public URL, e.g. https://foxden-doi.classe.cornell.edu/
- I can setup Caddy (Caddy - The Ultimate Server with Automatic HTTPS) reverse proxy server which will point to DOIService, Caddy is Go based reverse proxy with very easy configuration (and again static executable), it can handle certificates and renew them automatically via let's encrypt
- open firewall for port 80/443 that will be used by Let's encrypt and eventually users
- start backend (if not yet started) DOIService
- start Caddy to do the rest of the work to obtain certificates and redirect traffic to backend service
- If we want to use own cert manager/ceriticates it is fine too, and if we want to use any other reverse proxy like (NGINX) it is fine too as well
- Once reverse proxy will be in place with new DNS name then we can have public DOI service and keep it running.
Here is a simple example of Caddy configuration required for that
foxden-doi.classe.cornell.edu {
encode gzip zstd
reverse_proxy http://foxden-dev.classe.cornell.edu:8377 {
health_uri /health
header_up X-Real-IP {remote_host}
header_up X-Forwarded-For {remote_host}
header_up X-Forwarded-Proto {scheme}
header_up X-Forwarded-Host {host}
}
log {
output file /var/log/caddy/api-access.log {
roll_size 100MiB
roll_keep 20
roll_keep_for 90d
}
format json
}
}
@vkuznet: as we discussed in Teams, please reconfigure the DOI service so that the DOI landing pages will be publicly accessible when the DOI is published. Here is your outline from chat:
Here is a simple example of Caddy configuration required for that