After long testing on couple of different Debian 9 boxes, it looks like geoip iptables module might be broken on that distribution (or maybe that kernel version).
Problem is if you enter a single rule that should drop let's say traffic from China on port 80/443, it drops all incoming connections on those ports (or all incoming traffic if you don't specify ports).
I've also found topic with similar issue on Stack Overflow.
So I took different approach, this is doing exactly what you want, it will drop all traffic from Asia based on country codes of countries that are located in Asia.
However, instead of utilizing geoip module, this one is focused directly on using a lot of IP ranges and creating bunch of iptables rules (75209 to be precise). Zones are downloaded from here: http://www.ipdeny.com/ipblocks/data/countries/
This script is based on great work of Cyberciti's Vivek, you can find his example on: https://www.cyberciti.biz/faq/block-entier-country-using-iptables/
Main drawback of this approach is time and CPU resources that are needed for this to complete. On a box with single CPU core, and 1GB of RAM it took 50 minutes to complete (and I really advise you to save those rules so they persist through machine restart, script will prompt you to do that at the end), but after that you're good to go.
I deployed nginx server on node that was used for testing, tried to access it from India and China proxies, and connection timed out. So it does achieve what you want, and it should work properly on any Debian based distribution.
While script is thoroughly tested, please be sure that you can access node directly from your provider panel as well, in case something goes wrong and you get blocked.
For GCP I believe this is it: https://cloud.google.com/shell/
For anyone else that might be reading this, if you're located in Asia, DO NOT RUN this script. It will block access to your machine.
One important note: This script WILL FLUSH ALL iptables rules you might have, so if you do have some rules set already, be sure to back them up.
Gitlab script directory: https://git.shell5.dev/shell5dev/installation-scripts/tree/master/jafinn-iptables-geoip
Gitlab master repo: https://git.shell5.dev/shell5dev/installation-scripts
Github mirror: https://github.com/shell5dev/Installation-Scripts
Multiple Debian 9 nodes
Happy testing and let us know how it works