If the official documentation at the link below didn’t help: https://community.cloudflare.com/t/community-tip-fixing-error-520-web-server-is-returning-an-unknown-error/44205

I checked all the important things:

  • I checked Nginx/PHP/Application logs and nothing.
  • Server logs and monitoring, and nothing
  • Firewall rules allow all Cloudflare IP ranges, all good here.
  • Checked requests/responses on tcpdump and all looks good

tcpdump command to check full request/responses below:

sudo tcpdump -i ens5 -s 0 -A ‘tcp dst port 80 and tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x47455420 or tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x504F5354 or tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x48545450 or tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x3C21444F’

In my case…

At my current project we’re currently running on AWS and GCP, one of the reasons being we’re using BigQuery for BI Analytics together with the parent company.


Setup an API Gateway, this will proxy all requests to GCP:

Setup a “Custom Domain Name” in AWS API Gateway console, with the API mappings required for both your GCP functions and your AWS functions:

Having a hard time tracking all your crypto investments across all kinds of different platforms? Are you buying coins in CEX, staking them in DeFI platforms or generating yield income?

It must be hard keeping track of everything.

And while there’s a number of Apps tracking your crypto investment, they only track the funds in major exchanges, leaving cold storage, DEXs and other platforms out of the equation.

That’s why I build a Google Sheets to keep track of my Portfolio. This is how it looks like (no, this is not my actual portfolio):

Simple spreadsheet (1st Tab)

My late Friday creation, a quick one page website dedicated to “Banks are Clowns” or “Banks are Zeros” as popularized by Wall Street Playboys.

You can access it at https://clownbanks.com/

It’s about the recently launched NFT crypto project, Hashmasks, wherein a variety of randomly and automatically made art is made from a few different parameters to achieve a unique result. Using the Blockchain to record ownership of each piece. Hashmasks stands out by adding another level of exclusivity, by allowing naming each piece an exclusive name using the NCT tokens.

My website is a showcase of all the Clown Banks, Hashmasks that have clown masks and have been named after Banks. I hope I got all of them listed.

You may have been one of old time customers of Bitfinex, you know, that exchange that got ‘hacked’ into their bitcoin wallet and as a (their) decision, they decide to take 30% from any coin from any user in their system.

One of the early exchanges from the wild west bitcoin times, before proper ones came along.

After awhile you might login back into their system to find out that some of your coins worth a few cents 6 years ago is now worth a few dozen/hundreads.

Despite how small the amount may be, Bitfinex make it quite difficult to…

Google Chrome just started rolling out a change for the last 2 days which prevents users from submitting forms due to “secure connection” errors.

The information you’re about to submit is not secureBecause the site is using a connection that’s not completely secure, your information will be visible to others.

The issue has been reported to Chromium project and you can follow updates at https://bugs.chromium.org/p/chromium/issues/detail?id=1158169.


The change is being rolled back as the Chrome team saw the unexpectedly large impact it caused and scenarios they may have not considered. …

Is your repository full of disparate serverless functions which you want to integrate CI/CD into? Look no further, here’s my quick and easy guide on configuring a CI/CD pipeline for your functions repository.

Implementing a monorepo strategy can be benefitial if you have a large number of functions that do not belong to a single big feature, creating a new repo for each one creates a huge overhead and requires you to manage/duplicate credentials/permissions/user access/env variable (for the CICD) in multiple places.

So the easy way to do it:

image: amaysim/serverless:1.79.0
- deploy
# AWS region…

Drupal 8 only sends the secure flag on the session cookie for HTTPs connections. That may be a problem when there’s multiple layers of servers and reverse proxies between the user and the server. Imagine `Server (HTTP) -> Load Balancer (80) -> Cloudflare (443)`, Drupal may incorrectly assume its getting an HTTP connection and will not send the cookie.

From a user perspective, the cookie is being sent from Cloudflare through an HTTPs connection and should have the secure flag in the cookie.

For previous Drupal releases it was possible to hard code the connection mode, such as `settings.php: $conf[‘https’] = 1;`

For Drupal 8 you may work around the issue by Secure Login module in its default settings.

If you’re searching online and getting nowhere, this is for you. Reverse proxy settings, sound like an easy 3 line change, but you may be having issues making it work.

One possible reason, copy pasting solutions online isn’t working: settings.php.

See https://www.drupal.org/node/3030558

Since Drupal 8.7, settings.php has been updated, and you must update your settings file to have the reverse proxy settings work.

Get the latest settings.php from drupal 8.8.x branch on this url:

Before, you had to specify the header you wish Drupal:

$settings['reverse_proxy_header'] = 'HTTP_CF_CONNECTING_IP';

Alternatively, there is some suggestions of overwriting the global variable.

if (isset($_SERVER['HTTP_CF_CONNECTING_IP'])) {…

Until recently was possible to use Gitlab as an external CI for a repository hosted somewhere else. In the same vein of Cloud CI providers such as Travis or Circle.

The way it worked was using Gitlab’s repo mirroring feature to mirror all repository changes to Gitlab, then the pipelines will run from the Gitlab repo.

All was fine until Gitlab decided to make it a paid feature. And last Friday they finally pulled the plug, by simply disabling mirroring. Some people were caught by surprised, myself included. Just see the posts below

I would be a happy Gitlab customer…

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store