Dockerized NGINX can connect to containers, but not external IPs

Hey guys, I’m really pulling my hair out over here. I have a docker reverse proxy that works for other containers, but not for my other servers/VMs. Here are the relevant parts of my nginx.conf

upstream freenas_server {
    server 192.168.0.X:8080;
}
upstream  nextcloud_server {
    server 192.168.0.Y:8888;
}

... # stuff to redirect from http to https

server {
    listen 443;
    listen [::]:443;
    allow all;
    server_name freenas.domain.com freenas.*;

    location / {
        proxy_pass http://freenas_server;
        proxy_set_header Referer "";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Host $server_name;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $connection_upgrade;
    }
}

server {
    listen 443;
    listen [::]:443;
    allow all;
    server_name nextcloud.domain.com nextcloud.*;

    location / {
        proxy_pass http://nextcloud_server;
        proxy_set_header Referer "";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Host $server_name;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $connection_upgrade;
    }
}

Nextcloud is running as docker container and I can go to nextcloud.domain.com and everythings fine, but FreeNas is obviously on it’s own server and freenas.domain.com doesn’t work. But I can go to http://192.168.0.X:8080 and everythings fine. All of my docker containers are all the same host (192.168.0.Y). I tried cleaning out my iptables and telling docker not to iptables, but to no avail. I’ve seen a few people asking similar questions here and here, but those answers don’t work or don’t exists. Everything else I’ve found talks about container to container proxying and that works fine. Any help will be appreciated