Skip to content

closes #12168 nginx reverse proxy opds#12170

Merged
mekarpeles merged 6 commits intomasterfrom
12168/feature/reverse-proxy-opds
Mar 25, 2026
Merged

closes #12168 nginx reverse proxy opds#12170
mekarpeles merged 6 commits intomasterfrom
12168/feature/reverse-proxy-opds

Conversation

@mekarpeles
Copy link
Copy Markdown
Member

@mekarpeles mekarpeles commented Mar 23, 2026

Closes #12168

This pull request adds a new reverse proxy configuration for the /opds endpoint in the docker/web_nginx.conf file. This allows requests to /opds to be forwarded to an external backend service, with appropriate headers set for proper proxying.

Reverse Proxy Configuration:

  • Added a new location /opds block that proxies requests to https://ol-opds.prod.archive.org/, sets several proxy headers and adds a custom response header X-OPDS-Backend, and disables proxy redirects.

Blocked on ArchiveLabs/opds.openlibrary.org#9

The internal app https://github.com/archivelabs/opds.openlibrary.org needs an env set for BASE_URL to https://openlibrary.org/opds because otherwise it renders feed w/ https://ol-opds.prod.archive.org/ which isn't what we want.

Copilot AI review requested due to automatic review settings March 23, 2026 17:29
@mekarpeles mekarpeles added State: Blocked Work has stopped, waiting for something (Info, Dependent fix, etc. See comments). [managed] Patch Deployed This PR has been deployed to production independently, outside of the regular deploy cycle. labels Mar 23, 2026
@github-actions github-actions Bot added the Priority: 1 Do this week, receiving emails, time sensitive, . [managed] label Mar 23, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds an Nginx reverse-proxy route so openlibrary.org/opds can be served by the external OPDS backend service, supporting the goal of moving OPDS delivery out of the monolith.

Changes:

  • Add an Nginx location /opds block proxying to https://ol-opds.prod.archive.org/
  • Forward common proxy headers and add an X-OPDS-Backend response header

Comment thread docker/web_nginx.conf Outdated
Comment thread docker/web_nginx.conf Outdated
Comment thread docker/web_nginx.conf Outdated
Comment thread docker/web_nginx.conf Outdated
Comment thread docker/web_nginx.conf Outdated
@mekarpeles mekarpeles added this to the Sprint 2026-03 milestone Mar 23, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 1 out of 1 changed files in this pull request and generated 2 comments.

Comment thread docker/web_nginx.conf Outdated
Comment thread docker/web_nginx.conf
mekarpeles and others added 2 commits March 24, 2026 16:22
Add CORS headers for OPDS endpoint
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@mekarpeles mekarpeles merged commit 8a1916d into master Mar 25, 2026
7 checks passed
@mekarpeles mekarpeles deleted the 12168/feature/reverse-proxy-opds branch March 25, 2026 18:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Patch Deployed This PR has been deployed to production independently, outside of the regular deploy cycle. Priority: 1 Do this week, receiving emails, time sensitive, . [managed] State: Blocked Work has stopped, waiting for something (Info, Dependent fix, etc. See comments). [managed]

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Nginx Reverse Proxy /opds to ol-opds.production.archive.org

3 participants