Issues icon indicating copy to clipboard operation
Issues copied to clipboard

Releases page with many releases can exceed a reasonable length URL

Open jburger opened this issue 7 years ago • 2 comments

While in most cases, query string length on the Releases page is not a problem, it can effect customers using proxy servers. This may occur with any webserver / proxy technologies and is not necessarily limited to those using NGINX, however the particular case we saw was using this technology, so workarounds that follow will be centered around that.

Improvement suggestion

Releases page would ideally not produce requests with very long query strings.

Steps to reproduce

Using an NGINX proxy with default settings as a proxy server for Octopus Server

  1. Go to 'Releases' for a project with many (> 500) releases

Screen capture

The following is what happens if a proxy server refuses to process the request image

Log excerpt

Here is an example query that causes this issue.

https://[host]/api/tasks?take=300&ids=ServerTasks-503605,ServerTasks-503603,ServerTasks-503604,ServerTasks-503602,ServerTasks-503601,ServerTasks-503600,ServerTasks-503597,ServerTasks-503598,ServerTasks-503592,ServerTasks-503591,ServerTasks-503590,ServerTasks-503589,ServerTasks-503586,ServerTasks-503587,ServerTasks-503588,ServerTasks-503585,ServerTasks-503583,ServerTasks-503584,ServerTasks-503581,ServerTasks-503580,ServerTasks-503579,ServerTasks-503578,ServerTasks-503577,ServerTasks-503575,ServerTasks-503576,ServerTasks-503572,ServerTasks-503573,ServerTasks-503570,ServerTasks-503567,ServerTasks-503565,ServerTasks-503564,ServerTasks-503563,ServerTasks-503549,ServerTasks-503548,ServerTasks-503544,ServerTasks-503546,ServerTasks-503547,ServerTasks-503545,ServerTasks-503542,ServerTasks-503540,ServerTasks-503541,ServerTasks-503538,ServerTasks-503537,ServerTasks-503536,ServerTasks-503535,ServerTasks-503533,ServerTasks-503487,ServerTasks-503482,ServerTasks-503483,ServerTasks-503484,ServerTasks-503481,ServerTasks-503480,ServerTasks-503479,ServerTasks-503477,ServerTasks-503476,ServerTasks-503472,ServerTasks-503473,ServerTasks-503471,ServerTasks-503470,ServerTasks-503469,ServerTasks-503467,ServerTasks-503468,ServerTasks-503466,ServerTasks-503465,ServerTasks-503462,ServerTasks-503460,ServerTasks-503461,ServerTasks-503457,ServerTasks-503458,ServerTasks-503459,ServerTasks-503455,ServerTasks-503456,ServerTasks-503454,ServerTasks-503453,ServerTasks-503451,ServerTasks-503449,ServerTasks-503426,ServerTasks-503422,ServerTasks-503418,ServerTasks-503419,ServerTasks-503416,ServerTasks-503415,ServerTasks-503414,ServerTasks-503413,ServerTasks-503412,ServerTasks-503410,ServerTasks-503408,ServerTasks-503406,ServerTasks-503336,ServerTasks-503321,ServerTasks-503283,ServerTasks-503231,ServerTasks-503228,ServerTasks-503226,ServerTasks-503225,ServerTasks-503224,ServerTasks-503220,ServerTasks-503214,ServerTasks-503211,ServerTasks-503183,ServerTasks-503181,ServerTasks-503182,ServerTasks-503179,ServerTasks-503180,ServerTasks-503177,ServerTasks-503178,ServerTasks-503174,ServerTasks-503175,ServerTasks-503176,ServerTasks-503171,ServerTasks-503167,ServerTasks-503168,ServerTasks-503169,ServerTasks-503170,ServerTasks-503165,ServerTasks-503166,ServerTasks-503164,ServerTasks-503163,ServerTasks-503162,ServerTasks-503160,ServerTasks-503161,ServerTasks-503158,ServerTasks-503155,ServerTasks-503154,ServerTasks-503153,ServerTasks-503156,ServerTasks-503157,ServerTasks-503152,ServerTasks-503151,ServerTasks-503149,ServerTasks-503150,ServerTasks-503145,ServerTasks-503140,ServerTasks-503142,ServerTasks-503143,ServerTasks-503144,ServerTasks-503139,ServerTasks-503136,ServerTasks-503137,ServerTasks-503138,ServerTasks-503141,ServerTasks-503134,ServerTasks-503132,ServerTasks-503133,ServerTasks-503130,ServerTasks-503131,ServerTasks-503127,ServerTasks-503125,ServerTasks-503128,ServerTasks-503129,ServerTasks-503126,ServerTasks-503123,ServerTasks-503122,ServerTasks-503121,ServerTasks-503118,ServerTasks-503119,ServerTasks-503120,ServerTasks-503115,ServerTasks-503116,ServerTasks-503117,ServerTasks-503114,ServerTasks-503108,ServerTasks-503107,ServerTasks-503106,ServerTasks-503100,ServerTasks-503101,ServerTasks-503105,ServerTasks-503103,ServerTasks-503104,ServerTasks-503102,ServerTasks-503099,ServerTasks-503097,ServerTasks-503094,ServerTasks-503093,ServerTasks-503090,ServerTasks-503091,ServerTasks-503092,ServerTasks-503088,ServerTasks-503089,ServerTasks-503087,ServerTasks-503086,ServerTasks-503085,ServerTasks-503082,ServerTasks-503080,ServerTasks-503079,ServerTasks-502949,ServerTasks-502947,ServerTasks-502945,ServerTasks-502943,ServerTasks-502938,ServerTasks-502937,ServerTasks-502935,ServerTasks-502934,ServerTasks-502933,ServerTasks-502931,ServerTasks-502930,ServerTasks-502929,ServerTasks-502928,ServerTasks-502453,ServerTasks-502449,ServerTasks-502447,ServerTasks-502448,ServerTasks-502423,ServerTasks-502422,ServerTasks-502421,ServerTasks-502420,ServerTasks-502409,ServerTasks-502410,ServerTasks-502406,ServerTasks-502405,ServerTasks-502367,ServerTasks-502366,ServerTasks-502363,ServerTasks-502362,ServerTasks-502360,ServerTasks-502359,ServerTasks-502358,ServerTasks-502354,ServerTasks-502353,ServerTasks-502352,ServerTasks-502350,ServerTasks-502348,ServerTasks-502349,ServerTasks-502338,ServerTasks-502336,ServerTasks-502335,ServerTasks-502333,ServerTasks-502331,ServerTasks-502330,ServerTasks-502329,ServerTasks-502319,ServerTasks-502317,ServerTasks-502315,ServerTasks-502314,ServerTasks-502313,ServerTasks-502309,ServerTasks-502304,ServerTasks-502289,ServerTasks-502273,ServerTasks-502271,ServerTasks-502272,ServerTasks-501697,ServerTasks-500485,ServerTasks-500484,ServerTasks-500483,ServerTasks-500297,ServerTasks-500298,ServerTasks-500296,ServerTasks-500293,ServerTasks-500294,ServerTasks-500295,ServerTasks-500291,ServerTasks-500290,ServerTasks-500292,ServerTasks-500281,ServerTasks-500278,ServerTasks-500280,ServerTasks-500273,ServerTasks-500274,ServerTasks-500276,ServerTasks-500277,ServerTasks-500272,ServerTasks-500268,ServerTasks-500269,ServerTasks-500266,ServerTasks-500267,ServerTasks-500262,ServerTasks-500263,ServerTasks-500264,ServerTasks-500260,ServerTasks-500261,ServerTasks-500265,ServerTasks-500258,ServerTasks-500257,ServerTasks-500256,ServerTasks-500254,ServerTasks-500255,ServerTasks-500253,ServerTasks-500250,ServerTasks-500251,ServerTasks-500252,ServerTasks-500249,ServerTasks-500243,ServerTasks-500241,ServerTasks-500242,ServerTasks-500240,ServerTasks-500238,ServerTasks-500235,ServerTasks-500236,ServerTasks-500237,ServerTasks-500239,ServerTasks-500230,ServerTasks-500229,ServerTasks-500227,ServerTasks-500228,ServerTasks-500226,ServerTasks-500224,ServerTasks-500225,ServerTasks-500221,ServerTasks-500222

Affected versions

Octopus Server:

Workarounds

In NGINX, ensure that the following settings have sufficient memory allocated to allow for the querystring length. These values would vary from environment to environment.

These settings cater to both HTTP 1.1 and HTTP 2.0 connections

large_client_ header_buffers #HTTP/1.1
http2_max_field_size #HTTP/2
http2_max_header_size #HTTP/2

Links

Internal support request

Prerequisites

  • [x] I have verified the problem exists in the latest version
  • [x] I have searched open and closed issues to make sure it isn't already reported
  • [x] I have written a descriptive issue title
  • [x] I have linked the original source of this report
  • [x] I have tagged the issue appropriately (area/*, kind/bug, tag/regression?)

jburger avatar Dec 12 '18 00:12 jburger

Release Note: The Project > Releases page no longer queries for every task in the history of the universe

octoreleasebot avatar Jul 15 '24 04:07 octoreleasebot

:tada: The fix for this issue has been released in:

Release stream Release
2024.3 2024.3.7654
2024.4+ all releases

Octobob avatar Sep 04 '24 02:09 Octobob