Reverse proxy with nginx proxy manager

I’m running a TS6 docker container, right now its just pointed to my root domain, but my domain doesn’t work if its proxied. I manage my domains through CloudFlare. I’m using Casaos with Nginx proxy managers to manage multiple web services on one machine.

NGINX can’t do this because it’s looking for a webpage not an application in the sense of Teamspeak. What I did was I used an SRV record in Cloudflare for example (with an a record) that points to the domain and the port.

There is this as well though:

But out the box NGINX doesn’t do this off the bat.

Here’s the cloudflare setup I have:
A Record:

  • Name - ts
  • IPv4 - the ip address of teamspeak server
  • DNS - not proxied
  • TTL - Auto

SRV:

  • Name - _ts3._udp.ts
  • Priority - 0
  • Weight - 5
  • TTL - Auto
  • Port - 9987
  • Target - ts.mywebsite.com

Can I do something similar for my vpn? I use wiregaurd.

I’m not sure about that one sorry.

Are you trying to connect to the server through wireguard, or have a reverse tunnel from another server to your server?

I don’t wanna connect through the vpn I just noticed my vpn doesn’t work properly while using a proxed domain. Similar issue to my TS server maybe?

Do I still use _ts3._udp.ts even if its a teamspeak6 server?

also do I still need to open port 9987 in my router if I’m using a SRV record, and what is the biggest difference from using a SRV record for ts.domain.com vs just using an A record domain.com, with the unproxied ipv4?

yes of course.
the srv record only resolves to a specific host and port - for a specific service (thats all) but in the end you still need a connection to that specific port so yes the port still needs to be open.

PS: if youre using the standart voice port you dont forcibly need an srv record. just do a “subdomain” - an A record ts.your-domain.com to your server ip or just point your-domain.com directly to your server ip.

As long as the server is listening on the standard port, you can simply use the IP or domain name when connecting without specifying a specific port, as the client always resolves to the standard port (by itself) if no port is specified. Just like with a Minecraft server – if it listens on the standard port 25565, you simply connect using the bare IP (without specifying a port) – only when you switch to port 25577, for example, do you need an SRV entry so that you can connect without specifying a port.

so yes you cant just point an a record for your top-level domain or even for an supdomain directly to the unproxied ipv4

1 Like

You can change the ts3 part to ts6, just links the A and SRV together.

I ended up just making a new A record with proxy disabled, and using that for my server instead of my root domain. I just wanted to enable proxy for my root domain since I use a few other web services with my domain.