Перезапись URL без расширений в .Rmd с помощью сервера R Shiny на nginx - PullRequest
1 голос
/ 24 марта 2020

У меня nginx, прослушивающий порт 80 и R Shiny Server за брандмауэром на порту 3838. Существует обратный прокси-сервер для отправки всех запросов в каталог /internal через диалоговое окно ввода пароля в браузере, прежде чем он перейдет к Блестящий сервер.

Я пытаюсь выяснить, как превратить URL-адреса, которые вводит пользователь, например http://my.domain/internal/SomeProgram в http://my.domain/internal/SomeProgram.Rmd, чтобы сервер Shiny мог их обрабатывать. Я не знаю, использовать ли try_files или что-то вроде:

if (!-e $request_filename) {
    rewrite ^(.*)$ /$1.Rmd;     
}

Эта часть ниже работает, но я не знаю, где или как вставить вышеуказанный код (или использовать совершенно другой код) чтобы сделать расширение без расширения на .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;
}

Любая идея будет принята с благодарностью. Спасибо:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...