As this will -thanks to me being quite clueless- be a very open question I will start with the setup:
One nginx server on an old Raspi getting ports 80 and 443 routed from the access point and serving several pages as well as some reverse proxies for other sevices.
So a (very simplified) nginx server-block that looks like this:
# serve stuff internally (without a hostname) via http
server {
listen 80 default_server;
http2 on;
server_name _;
location / {
proxy_pass http://localhost:5555/;
\# that's where all actual stuff is located
}
}
# reroute http traffic with hostname to https
server {
listen 80;
http2 on;
server_name server_a.bla;
location / {
return 301 https://$host$request_uri;
}
}
server {
listen 443 ssl default_server;
http2 on;
server_name server_a.bla;
ssl_certificate A_fullchain.pem;
ssl_certificate_key A_privkey.pem;
location / {
proxy_pass http://localhost:5555/;
}
}
#actual content here...
server {
listen 5555;
http2 on;
root /srv/http;
location / {
index index.html;
}
location = /page1 {
return 301 page1.html;
}
location = /page2 {
return 301 page2.html;
}
#reverse proxy for an example webdav server
location /dav/ {
proxy_pass http://localhost:6666/;
}
}
Which works well.
And intuitively it looked like putting Anubis into the chain should be simple. Just point the proxy_pass (and the required headers) in the "port 443"-section to Anubis and set it to pass along to localhost:5555 again.
Which really worked just as expected... but only for server_a.bla, server_a.bla/page1 or server_a.bla/page2.
server_a.bla/dav just hangs and hangs, to then time out, seemingly trying to open server_a.bla:6666/dav.
So long story short...
How does proxy_pass actually work that the first setup works, yet the second breaks? How does a call for localhost:6666 (already behind earlier proxy passes in both cases) somehow end up querying the hostname instead?
And what do I need to configure -or what information/header do I need to pass on- to keep the internal communication intact?
Tanks won't be dead until there is another system that can fullfil it's role. It's easy as that.
Everything else is just adaption to changing threat environments while doing it's job on the battle field. Which specifically means more active defenses over passive armor, so soft- and hard-kill APS and probably an highly-automated small calibre remote weapon station.
Also, no matter how hard people try to delude themselves: The war in Ukraine is NOT a modern war shaping future combat. It's primarily characterised by obsolete static and trench warfare with both sides severely lacking capable air defense and experience in proper combined arms warfare. Then Russia aggrevates that situation even further as "We can't compete on the high-tech end of things so we drag everyone down to our level via a massive electronic warfare campaign" is part of their main strategy since the cold war.
That's the reason drones are so successful there, because they perfectly exploit an existing gap of lacking air defenses and a very taxing environment that benefits cheap mass spam over electronically impaired high-precsion tech. That's also the reason the Ukrainian side learning and adapting more quickly will win this.
The actual aspect of this war shaping future combat is detailed information on how to not make the same mistakes and close the existing gap cheap drones so perfectly fit into. So no, the tank isn't even close to obsolete. The next generation will show APS alongside limited in-build anti-air capabilities (small calibre gun against small drones probably alongside a few missiles that can double against out of range/LOS ground targets) and be accompanied by more dedicated anti-air assets once again (see: how those old German Gepards that were designed for that support role back then performed in Ukraine against drones half a century more modern)... and by IFVs nearly as well protected and basically being their flanking protection against infantry/ATGMs (see: active and passive protection levels of modern IFVs and their precisely timed burst-capable auto-guns - basically oversized battle field shotguns to clear the flanks off mobile but fragile threats).