Tengo nginx escuchando en el puerto 80 y un servidor R Shiny detrás de un firewall en el puerto 3838. Hay un proxy inverso para enviar todas las solicitudes al directorio /internal a través de un cuadro de diálogo de contraseña en el navegador antes de que vaya al servidor Shiny.
Estoy tratando de descubrir cómo convertir las URL que el usuario ingresa como http://my.domain/internal/SomeProgram a http://my.domain/internal/SomeProgram.Rmd para que el servidor Shiny pueda procesarlas. No sé si usar try_files o algo como:
if (!-e $request_filename) { rewrite ^(.*)$ /$1.Rmd; } Esta parte a continuación funciona, pero no sé dónde o cómo insertar el código anterior (o usar un código completamente diferente) para hacer la conversión sin extensión a .Rmd :
location /internal { auth_basic "Admin Area"; auth_basic_user_file /etc/nginx/.htpasswd; proxy_pass http://localhost:3838/internal/; proxy_redirect / $scheme://$http_host/; } location /shiny/ { rewrite ^/shiny/(.*)$ /$1 break; proxy_pass http://localhost:3838/; proxy_redirect / $scheme://$http_host/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; proxy_read_timeout 20d; proxy_buffering off; }Cualquier idea sería muy apreciada. Gracias :)