<div id="__MailbirdStyleContent" style="font-size: 10pt;font-family: Arial;color: #000000">We currently use caching for guests, our search pages use long urls to pass the parameters to our application. Currently searches that worked for logged in users don't work for guests.<div class="mb_sig"></div><div><br></div><div>I can show the issue with these two curl examples ( which are not obviously valid searches )</div><div><br></div><div>As a guest</div><div><br></div><div><div>james_@Sophie:/mnt/c/Users/james$ curl -I    "https://archiveofourown.org/works?a=111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"</div><div>HTTP/1.1 502 Bad Gateway</div><div>Server: nginx/1.13.7</div><div>Content-Type: text/html</div><div>Connection: keep-alive</div><div>X-Proxy-Cache: MISS</div><div>X-Hostname: ao3-front01</div><div>Date: Fri, 24 Aug 2018 07:19:10 GMT</div><div>X-Page-Speed: 1.13.35.1-0</div><div>Cache-Control: max-age=0, no-cache, s-maxage=10</div><div><br></div><div><br></div><div>Faked logged in</div><div><br></div><div><div>james_@Sophie:/mnt/c/Users/james$  curl -I   --cookie "user_credentials=Yes"    "https://archiveofourown.org/works?a=111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"</div><div>HTTP/1.1 200 OK</div><div>Server: nginx/1.13.7</div><div>Content-Type: text/html; charset=utf-8</div><div>Connection: keep-alive</div><div>X-Frame-Options: SAMEORIGIN</div><div>X-XSS-Protection: 1; mode=block</div><div>X-Content-Type-Options: nosniff</div><div>ETag: W/"1790278d744d2e531bec864667a1668c"</div><div>Set-Cookie: _otwarchive_session=*******c1ab; path=/; expires=Fri, 07 Sep 2018 07:55:19 -0000; HttpOnly</div><div>X-Request-Id: 236abd18-2463-4163-ab7e-24b3b10e572e</div><div>X-Runtime: 0.182444</div><div>X-Aooo-Debug1: Archive Unicorn</div><div>X-Clacks-Overhead: GNU Terry Pratchett</div><div>Potential_upstream: unicorn_story</div><div>X-Hostname: ao3-front01</div><div>Date: Fri, 24 Aug 2018 07:55:19 GMT</div><div>X-Page-Speed: 1.13.35.1-0</div><div>Cache-Control: max-age=0, no-cache, must-revalidate</div></div><div><br></div><div>One less character</div><div><br></div><div><br></div><div>james_@Sophie:/mnt/c/Users/james$ curl -I    "https://archiveofourown.org/works?a=11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111"</div><div>HTTP/1.1 200 OK</div><div>Server: nginx/1.13.7</div><div>Content-Type: text/html; charset=utf-8</div><div>Connection: keep-alive</div><div>X-Frame-Options: SAMEORIGIN</div><div>X-XSS-Protection: 1; mode=block</div><div>X-Content-Type-Options: nosniff</div><div>X-Request-Id: d4cb7c78-78bd-4de5-a974-1695db5a6d23</div><div>X-Runtime: 0.188035</div><div>X-Proxy-Cache: HIT</div><div>X-Hostname: ao3-front01</div><div>X-Clacks-Overhead: GNU Terry Pratchett</div><div>X-ao3-caching-backend: unicorn_story</div><div>X-Page-Speed: 1.13.35.1-0</div><div>X-Aooo-Debug1: Archive Unicorn</div><div>X-Clacks-Overhead: GNU Terry Pratchett</div><div>Potential_upstream: unicorn_cache</div><div>X-Hostname: ao3-front01</div><div>Date: Fri, 24 Aug 2018 07:19:17 GMT</div><div>X-Page-Speed: 1.13.35.1-0</div><div>Cache-Control: max-age=0, no-cache</div></div><div><br></div><div>I think the relevant bits of the config are:</div><div><br></div><div><div>    client_body_buffer_size 2048k;</div><div>    proxy_buffers     32 64k;</div><div>    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;</div><div>    proxy_set_header Host $host;</div><div>    proxy_set_header X-Queue-Start "t=${msec}000";</div><div>    proxy_redirect off;</div><div>    proxy_read_timeout 300;</div><div>    proxy_cache_path /var/cache/nginx/downloads keys_zone=downloads_cache:4096m loader_threshold=300 loader_files=200 max_size=300g inactive=30d  levels=2:2;</div><div>    proxy_cache_path /var/cache/nginx/ao3       keys_zone=ao3_cache:4096m       loader_threshold=300 loader_files=200 max_size=70g inactive=1h   levels=2:2;</div><div>    proxy_cache_path /var/cache/nginx/tmpfs     keys_zone=ao3_tmpfs:4096m      loader_threshold=300 loader_files=200 max_size=40g  inactive=1h   levels=2:2;</div><div>    large_client_header_buffers 4 32k;</div></div><div><br></div><div>And</div><div><br></div><div><div>        location / {</div><div>          proxy_cache ao3_tmpfs;</div><div>          proxy_cache_key "$request_uri";</div><div>          proxy_cache_valid 200 302 40m;</div><div>          proxy_cache_valid 404     10m;</div><div>          proxy_cache_use_stale   error timeout invalid_header updating;</div><div>          proxy_cache_lock on ;</div><div>          proxy_cache_min_uses 1 ;</div><div>          proxy_buffering        on ;</div><div>          proxy_hide_header      Cache-Control ;</div><div>          proxy_hide_header      Set-Cookie ;</div><div>          proxy_ignore_headers   Cache-Control ;</div><div>          proxy_ignore_headers   Set-Cookie ;</div><div><br></div><div>        proxy_http_version 1.1;</div><div>        proxy_set_header X-Forwarded-For "$http_x_forwarded_for,$realip_remote_addr" ;</div><div>        proxy_set_header X-Forwarded-Proto $scheme ;</div><div>        proxy_headers_hash_bucket_size 4096 ;</div><div>        proxy_redirect off;</div><div>        proxy_set_header Connection "";</div><div>        real_ip_recursive on ;</div><div>        set_real_ip_from 10.0.0.0/8 ;</div><div>        real_ip_header X-Forwarded-For;</div><div>        client_max_body_size 4G;</div><div>        keepalive_timeout 5;          proxy_set_header Host archiveofourown.org ;</div><div>          add_header             X-Proxy-Cache $upstream_cache_status always;</div><div>          add_header             X-Hostname $hostname always;</div><div>          add_header             Cache-Control "public" always;</div><div>          add_header             X-Clacks-Overhead "GNU Terry Pratchett" ;</div><div>          add_header             X-ao3-caching-backend "$unicorn_cache_backend" ;</div><div>          proxy_pass http://$unicorn_cache_backend;</div><div>          expires 40m ;</div><div>         }</div></div></div>