Estoy ejecutando una red de servidores de Minecraft para mis amigos, donde alojo servidores para ellos. Pueden interactuar con su servidor usando un panel de control en el navegador.
Estoy intentando permitir que el navegador se conecte directamente a mi red mediante WebSockets. El programa administrador de red (también conocido como el bot) está configurado para recibir conexiones en el puerto 50000. Mi sitio web, example.com, redirige mc.example.com a la ip de mi computadora, usando registros A. Luego, el panel de control se conecta a mc.example.com:50000. Los servidores de Minecraft están en diferentes puertos, como mc.example.com:50001.
Dado que https requiere wss, necesito configurar un certificado de confianza en el servidor WebSocket. Mi plan era copiar el certificado SSL del dominio mc.example.com al bot, permitiendo la conexión.
Sin embargo, AutoSSL no generará un certificado para mc.example.com, ya que no puede conectarse al puerto 80.
¿Es posible permitir que se ejecute AutoSSL y al mismo tiempo redirigir la mayoría de los puertos a mi IP personalizada? O más ampliamente, ¿cómo puedo permitir que el panel de control se conecte al bot a través de wss?
De acuerdo con esta documentación, los WebSockets deben redirigirse con registros SRV para los servicios _wss y _ws.
* Todas estas pruebas fueron con ws, ya que aún no tenía el certificado, y fue más fácil
El navegador está utilizando el WebSocket de JavaScript estándar.
El bot es un programa Java que utiliza una biblioteca WebSocket , que está envuelto en una biblioteca de paquetes personalizada. El reenvío de puertos y cosas relacionadas están funcionando; Puedo obtener una conexión ws para pasar.
El proveedor de alojamiento del sitio web es Bluehost (alojamiento compartido), por lo que no puedo usar un reenvío de puerto estándar, del lado del servidor del sitio web.
Creo que stackoverflow es el sitio de intercambio de pila correcto para esto, ya que acepto y doy la bienvenida a las soluciones que requieren programación en cualquier extremo. (Ej.: una variable de JavaScript que puedo cambiar para verificar los registros SRV). Por favor, hágame saber si hay una mejor.
Editar: he logrado que esto funcione configurando un servidor XAMPP reenviado por puerto, que usa un archivo .htaccess para redirigir de nuevo a example.com/mc.
Sin embargo, estoy abierto a soluciones mucho más limpias.