Hi!
I’m trying to make a little personal project, but even though I have stripped it down as much as I could, it still wont work.
I have three containers in docker: attacker (kali with nginx), reverse-proxy (alpine with nginx), and victim (alpine).
Attacker(172.17.0.2) hosts a website and I’d like to reach it with the victim(172.17.0.4) through the reverse-proxy(172.17.0.3). I only want the interactions between the containers, nothing outside them.
So far I can get attacker’s website directly by curl http://172.17.0.2:5555
and reverse-proxy’s by curl http://172.17.0.3/
. But when I do curl http://172.17.0.3/merlin
I get:
<html>
<head><title>404 Not Found</title></head>
<body>
<center><h1>404 Not Found</h1></center>
<hr><center>nginx/1.18.0</center>
</body>
</html>
For reverse-proxy (172.17.0.3) my /etc/nginx/conf.d/default.conf
:
server {
listen 80;
listen [::]:80;
server_name proxy;
#access_log /var/log/nginx/host.access.log main;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
location /merlin {
proxy_pass http://172.17.0.2:5555;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
For attacker (172.17.0.2) my /etc/nginx/conf.d/default.conf
:
server {
listen 5555;
listen [::]:5555;
server_name localhost;
#access_log /var/log/nginx/host.access.log main;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
Grant Collins on youtube has managed something similar, but I just can’t get it to work.