diff --git a/app/client/start-https.sh b/app/client/start-https.sh index c3c706dc21cd..6db241af1251 100755 --- a/app/client/start-https.sh +++ b/app/client/start-https.sh @@ -294,10 +294,6 @@ $(if [[ $use_https == 1 ]]; then echo " location /api { proxy_pass $backend; - - gzip off; # Etag stripped from upstream if gzip is off. - # Ref1: https://forum.nginx.org/read.php?2,242807,242810#msg-242810 - # Ref2: https://www.ruby-forum.com/t/reverse-proxy-deleting-etag-header-from-response/246209/2 # Delete the Cache-Control header set in the server block above. add_header Cache-Control '' always; # Proxy pass the Cache-Control header from the upstream. diff --git a/app/server/appsmith-server/src/main/java/com/appsmith/server/services/ce/ConsolidatedAPIServiceCEImpl.java b/app/server/appsmith-server/src/main/java/com/appsmith/server/services/ce/ConsolidatedAPIServiceCEImpl.java index c9263d484a2a..0e8c54d51156 100644 --- a/app/server/appsmith-server/src/main/java/com/appsmith/server/services/ce/ConsolidatedAPIServiceCEImpl.java +++ b/app/server/appsmith-server/src/main/java/com/appsmith/server/services/ce/ConsolidatedAPIServiceCEImpl.java @@ -692,7 +692,11 @@ private boolean isPossibleToCreateQueryWithoutDatasource(Plugin plugin) { byte[] hashBytes = digest.digest(consolidateAPISignatureJSON.getBytes(StandardCharsets.UTF_8)); String etag = Base64.getEncoder().encodeToString(hashBytes); - return etag; + // Strong Etags are removed by nginx if gzip is enabled. Hence, we are using weak etags. + // Ref: https://github.com/kubernetes/ingress-nginx/issues/1390 + // Weak Etag format is: W/"" + // Ref: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/ETag + return "W/\"" + etag + "\""; } catch (Exception e) { log.error("Error while computing etag for ConsolidatedAPIResponseDTO", e); return ""; diff --git a/deploy/docker/fs/opt/appsmith/caddy-reconfigure.mjs b/deploy/docker/fs/opt/appsmith/caddy-reconfigure.mjs index edd4ebd710fb..c2d05cff933a 100644 --- a/deploy/docker/fs/opt/appsmith/caddy-reconfigure.mjs +++ b/deploy/docker/fs/opt/appsmith/caddy-reconfigure.mjs @@ -130,15 +130,6 @@ parts.push(` import file_server } - handle /api/v1/consolidated-api/view { - reverse_proxy { - to 127.0.0.1:8080 - header_up -Forwarded - header_up X-Appsmith-Request-Id {http.request.uuid} - header_down +Etag - } - } - @backend path /api/* /oauth2/* /login/* handle @backend { import reverse_proxy 8080