[Solved] Cookies increase when open different public link on same browser

Hello, there. I have problem with too large size of cookies on my Pydio Cells.

Describe your issue in detail

I have created some folder with many file and folder inside its and share them all with public link. But, some non-registered user (they only access trough my public links) reported that they stuck with loading animation after open around 3 or 4 tabs with different link on same browser. After I figured it out, it was because error when the website send request to make a session (maybe, because the url that i find out was https://{my-url}/a/frontend/session) and it was return :

400 Bad Request
Your browser sent a request that this server could not understand.
Size of a request header field exceeds server limit.

This problem solved after I delete my cookies, but I know it is not right to force user to clear their cookies. Can you guys help me solve this problem from server-side? I feel the problem was on Pydio Cells or on my Apache configuration

What version of Cells are you using?

Pydio Cells Home Edition 4.1.4 on docker container

What is the server OS? Database name/version? Browser name or mobile device description (if issue appears client-side)?

Browser : Edge, Chrome, Firefox
OS : Windows

What steps have you taken to resolve this issue already?

  1. Change Apache configuration by add new line

LimitRequestFieldSize 200000

  1. Upgrade the Pydio Cells
  2. Check the request from browser
    I realize the Cookies increase when I’m opening new link on the same browser. Maybe this is the problem, but I want to solved this from the server-side.

Thanks.

I still stuck at this problem lol

Hello,

Because the size of cookie is too big, and when you open many public links in a web browser, the header size sometimes is bigger the Header limit defined by web server.

You can execute following command to reduce the size of cookie of a public link

# with "pydio" account
./cells admin config db set pydio.rest.frontend 

what does that command do? i have try execute that inside terminal on my container, but return

panic: interface conversion: interface {} is nil, not string

but, my problem was solved after execute that command. still I want to know what exactly that do, because i try to find on the documentation but got nothing explanation

Hi,

Before running this command, the share links use “jwt approach” that the cookie value contains the session information. That’s why its size is big. In the case of Pydio Cells, it’s encrypted session data, not jwt.

When you run the command ./cells admin config db set pydio.rest.frontend, you switch to use “session cookie”. The cookie size is just the size of ID (no content).

For further information, please visit:

For more information about cells’ commands:
https://pydio.com/en/docs/developer-guide/command-line-reference

1 Like

I’m really grateful for the detailed explanation you provided. It has made a significant difference in my understanding of this issue. Thank you for your valuable help!

This topic was automatically closed 11 days after the last reply. New replies are no longer allowed.