Actualmente estoy ejecutando una serie de servidores, cada uno de los cuales ejecuta NGINX y se usa como proxy inverso para otros sitios web. Sin embargo, si necesito cambiar una dirección IP de back-end o cambiar otras variables dentro de NGINX, necesito SSH manualmente en el servidor y cambiar las configuraciones O iniciar sesión en NGINX Proxy Manager. Lo que busco hacer es crear un sitio web central que me permita editar variables de NGINX como 'proxy_pass' y enviar el valor actualizado al servidor remoto seleccionado, actualizar la configuración de NGINX y recargar el servicio.
¿Hay alguna forma actual de hacer esto y cómo podría implementar eso? Lo que me viene a la mente es algún tipo de solicitud CURL al servidor remoto, y luego no estoy seguro de cómo reescribiría automáticamente la parte correcta de la configuración de NGINX, etc.
¡Cualquier ayuda sería apreciada!
Si tiene acceso de root en esos servidores, todo lo que necesita es un servicio o un script que llene los nuevos valores. La forma más sencilla que veo adecuada es hacerlo con un script bash y una plantilla para el archivo de configuración.
Archivo de configuración de plantilla: /home/user/nginx_config/nginx.config.sample :
-- your generic config settings proxy_pass location /your/location { proxy_pass {{proxy_pass}}; } -- rest of standard file El script bash para llenar la plantilla: /home/user/nginx_config/generator.sh
new_ip=$1 template_path="/home/user/nginx_config/nginx.config.sample" config_path="/etc/nginx/nginx.conf" if [[ -z $1 ]] then echo "Missing IP param"; exit; fi cp "$config_path" "${config_path}.bak" sed "s/{{proxy_pass}}/$new_ip/g" "$template_path" > "$config_path" echo "Done! Updated $config_path file to $1:" cat "$config_path" Luego, todo lo que necesita hacer es crear una secuencia de comandos local para conectarse mediante ssh y ejecutar la secuencia de comandos del generador (con 1.2.3.4 como su nueva dirección IP)
sshpass -p password ssh -oStrictHostKeyChecking=no -oCheckHostIP=no user@your_server "bash /home/user/nginx_config/generator.sh 1.2.3.4"