Skip to content

Instantly share code, notes, and snippets.

@ewdurbin
Created November 7, 2024 17:10
Show Gist options
  • Save ewdurbin/bacc8b9be7cf9a736885549d94c73c21 to your computer and use it in GitHub Desktop.
Save ewdurbin/bacc8b9be7cf9a736885549d94c73c21 to your computer and use it in GitHub Desktop.
$ diff -uNr Downloads/1d1Bii4LcJ9joSaowpIdb3_141.vcl Downloads/1d1Bii4LcJ9joSaowpIdb3_154.vcl
--- Downloads/1d1Bii4LcJ9joSaowpIdb3_141.vcl 2024-08-27 15:22:21
+++ Downloads/1d1Bii4LcJ9joSaowpIdb3_154.vcl 2024-11-07 11:42:14
@@ -48,7 +48,7 @@
.window = 5;
}
}
-backend F_lb_nyc1_psf_io {
+backend F_loadbalancer {
.between_bytes_timeout = 10s;
.connect_timeout = 1s;
.dynamic = true;
@@ -146,6 +147,12 @@
+# temporary, for internal use only
+table enabled_products BOOL {
+ "bot_management": true,
+ "domain_inspector": true,
+ "origin_inspector": true,
+}
# Snippet rate-limiter-v1-4e6ScHm671v9UCjMSist0m-init-init : 100
@@ -311,7 +318,7 @@
# Header rewrite Is Download Director : 10
- set req.backend = F_lb_nyc1_psf_io;
+ set req.backend = F_loadbalancer;
@@ -350,14 +357,14 @@
set req.backend = fastly.try_select_shield(ssl_shield_iad_va_us, F_cabotage);
}
}
- #do shield here F_lb_nyc1_psf_io > ssl_shield_lga_ny_us;
+ #do shield here F_loadbalancer > ssl_shield_lga_ny_us;
{
- if (req.backend == F_lb_nyc1_psf_io && var.fastly_req_do_shield) {
- set req.backend = fastly.try_select_shield(ssl_shield_lga_ny_us, F_lb_nyc1_psf_io);
+ if (req.backend == F_loadbalancer && var.fastly_req_do_shield) {
+ set req.backend = fastly.try_select_shield(ssl_shield_lga_ny_us, F_loadbalancer);
}
}
@@ -817,14 +824,17 @@
# default response conditions
- # syslog pythonorg
- log {"syslog "} req.service_id {" pythonorg :: "} req.http.Fastly-Client-IP {" ""} now {"" "-" ""} req.request " " req.url {"" "} req.proto " " resp.status " " resp.http.Content-Length " " resp.http.age {" ""} resp.http.x-cache {"" ""} resp.http.x-cache-hits {"" ""} req.http.content-type {"" ""} req.http.accept-language {"" ""} cstr_escape(req.http.user-agent) {"""};
-
# s3 psf_fastly_logs
log {"syslog "} req.service_id {" psf-fastly-logs :: "} req.http.Fastly-Client-IP {" ""} now {"" "-" ""} req.request " " req.url {"" "} req.proto " " resp.status " " resp.http.Content-Length " " resp.http.age {" ""} resp.http.x-cache {"" ""} resp.http.x-cache-hits {"" ""} req.http.content-type {"" ""} req.http.accept-language {"" ""} cstr_escape(req.http.user-agent) {"""};
+ # datadog ratelimit_debug
+ log {"syslog "} req.service_id {" ratelimit-debug :: "} {"{ "ddsource": "fastly", "service": ""} req.service_id {"", "date": ""} strftime({"%Y-%m-%dT%H:%M:%S%Z"}, time.start) {"", "time_start": ""} strftime({"%Y-%m-%dT%H:%M:%S%Z"}, time.start) {"", "time_end": ""} strftime({"%Y-%m-%dT%H:%M:%S%Z"}, time.end) {"", "http": { "request_time_ms": "} time.elapsed.usec {", "method": ""} req.request {"", "url": ""} json.escape(req.url) {"", "useragent": ""} cstr_escape(req.http.user-agent) {"", "referer": ""} cstr_escape(req.http.referer) {"", "protocol": ""} req.proto {"", "request_x_forwarded_for": ""} cstr_escape(req.http.x-forwarded-for) {"", "status_code": ""} resp.status {"" }, "network": { "client": { "ip": ""} req.http.Fastly-Client-IP {"", "name": ""} client.as.name {"", "number": ""} client.as.number {"", "connection_speed": ""} client.geo.conn_speed {"" }, "destination": { "ip": ""} server.ip {"" }, "geoip": { "geo_city": ""} client.geo.city.utf8 {"", "geo_country_code": ""} client.geo.country_code {"", "geo_continent_code": ""} client.geo.continent_code {"", "geo_region": ""} client.geo.region {"" }, "bytes_written": "} resp.body_bytes_written {", "bytes_read": "} req.body_bytes_read {" }, "host": ""} cstr_escape(req.http.fastly-orig-host) {"", "origin_host": ""} req.http.host {"", "is_ipv6": "} if(req.is_ipv6, "true", "false") {", "is_tls": "} if(req.is_ssl, "true", "false") {", "tls_client_protocol": ""} json.escape(tls.client.protocol) {"", "tls_client_servername": ""} json.escape(tls.client.servername) {"", "tls_client_cipher": ""} json.escape(tls.client.cipher) {"", "tls_client_cipher_sha": ""} json.escape(tls.client.ciphers_sha) {"", "tls_client_tlsexts_sha": ""} json.escape(tls.client.tlsexts_sha) {"", "is_h2": "} if(fastly_info.is_h2, "true", "false") {", "is_h2_push": "} if(fastly_info.h2.is_push, "true", "false") {", "h2_stream_id": ""} fastly_info.h2.stream_id {"", "request_accept_content": ""} cstr_escape(req.http.accept) {"", "request_accept_language": ""} cstr_escape(req.http.accept-language) {"", "request_accept_encoding": ""} cstr_escape(req.http.accept-encoding) {"", "request_accept_charset": ""} cstr_escape(req.http.accept-charset) {"", "request_connection": ""} cstr_escape(req.http.connection) {"", "request_dnt": ""} cstr_escape(req.http.dnt) {"", "request_forwarded": ""} cstr_escape(req.http.forwarded) {"", "request_via": ""} cstr_escape(req.http.via) {"", "request_cache_control": ""} cstr_escape(req.http.cache-control) {"", "request_x_requested_with": ""} cstr_escape(req.http.x-requested-with) {"", "request_x_att_device_id": ""} cstr_escape(req.http.x-att-device-id) {"", "content_type": ""} cstr_escape(resp.http.content-type) {"", "is_cacheable": "} if(fastly_info.state~"^(HIT|MISS)$", "true","false") {", "response_age": ""} cstr_escape(resp.http.age) {"", "response_cache_control": ""} cstr_escape(resp.http.cache-control) {"", "response_expires": ""} cstr_escape(resp.http.expires) {"", "response_last_modified": ""} cstr_escape(resp.http.last-modified) {"", "response_tsv": ""} cstr_escape(resp.http.tsv) {"", "server_datacenter": ""} server.datacenter {"", "req_header_size": "} req.header_bytes_read {", "resp_header_size": "} resp.header_bytes_written {", "socket_cwnd": "} client.socket.cwnd {", "socket_nexthop": ""} client.socket.nexthop {"", "socket_tcpi_rcv_mss": "} client.socket.tcpi_rcv_mss {", "socket_tcpi_snd_mss": "} client.socket.tcpi_snd_mss {", "socket_tcpi_rtt": "} client.socket.tcpi_rtt {", "socket_tcpi_rttvar": "} client.socket.tcpi_rttvar {", "socket_tcpi_rcv_rtt": "} client.socket.tcpi_rcv_rtt {", "socket_tcpi_rcv_space": "} client.socket.tcpi_rcv_space {", "socket_tcpi_last_data_sent": "} client.socket.tcpi_last_data_sent {", "socket_tcpi_total_retrans": "} client.socket.tcpi_total_retrans {", "socket_tcpi_delta_retrans": "} client.socket.tcpi_delta_retrans {", "socket_ploss": "} client.socket.ploss " } ";
+ # syslog pythonorg
+ log {"syslog "} req.service_id {" pythonorg :: "} req.http.Fastly-Client-IP {" ""} now {"" "-" ""} req.request " " req.url {"" "} req.proto " " resp.status " " resp.http.Content-Length " " resp.http.age {" ""} resp.http.x-cache {"" ""} resp.http.x-cache-hits {"" ""} req.http.content-type {"" ""} req.http.accept-language {"" ""} cstr_escape(req.http.user-agent) {"""};
+
+
#--FASTLY LOG END
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment