Skip to content

Feature request: make DOI landing pages public #55

Description

@wernersun

@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
    }
}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions