Skip to content

admin manage pads doesn't take into account x-proxy-path #7151

@jkbzh

Description

@jkbzh

Describe the bug

I've an nginx reverse proxy setup identical to the one described in the wiki. I'm hosting etherpad on a subdirectory url (/test) and giving this info to the etherpad server via the X-Proxy-Path header.

When I go the admin / Manage pads menu and I click on view on any of the pads (e.g.) foo), the browser requests /p/foo instead of /test/p/foo.

This issue doesn't seem to affect the other two options (delete pad / Cleanup revisions).

To Reproduce
Steps to reproduce the behavior:

  1. Install an nginx reverse proxy setup with etherpad hosted on a subdirectory (e.g. /ep). Make sure you have an admin account.
  2. Create a pad (e.g. /ep/p/foo).
  3. Go to the admin menu (/test/admin/)
  4. Go to the Manage pads admin page by clicking on the Manage pads menu
  5. Click on the "view pad" button for the pad you created (foo)
  6. Your browser will go to /p/foo instead of /ep/p/foo

I'm running both nging and etherpad locally in my box for this test.

Expected behavior

Clicking on the admin / Manage Pads / view pad button should have made me browse /ep/p/foo, that is, taken into account the X-Proxy-Path header.

Server (please complete the following information):

  • Etherpad version: 2.5.0
  • OS: debian 12.12
  • Node.js version (node --version): v22.19.0
  • npm version (npm --version): 10.9.3
  • Is the server free of plugins: yes

Desktop (please complete the following information):

  • OS: [e.g. iOS] debian 12.12
  • Browser [e.g. chrome, safari] firefox
  • Version [e.g. 22] 143.0

Additional context
Add any other context about the problem here.

This issue is independent of the transport mechanism. I'm running both nging and etherpad locally in my box for this test.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions