Назад | Перейти на главную страницу

Завершающие слэши с nginx и блестящим сервером

Попытка загрузить приложения Shiny без использования косой черты в конце. Вот мои сайты с поддержкой

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    root /var/www/html;
    index index.html index.htm index.nginx-debian.html;

    server_name mschwarz.us;

     location /shiny/ {
             proxy_pass http://127.0.0.1:3838/;
             proxy_http_version 1.1;
             proxy_set_header Upgrade $http_upgrade;
             proxy_set_header Connection "upgrade";
             rewrite ^(/shiny/[^/]+)$ $1/ permanent;
    }

      location /rstudio/ {
             proxy_pass http://127.0.0.1:8787/;
             proxy_http_version 1.1;
             proxy_set_header Upgrade $http_upgrade;
             proxy_set_header Connection "upgrade";
    }

      location / {
            # First attempt to serve request as file, then
            # as directory, then fall back to displaying a 404.
            try_files $uri $uri/ =404;
    }

}

Что происходит, когда я иду в http://mschwarz.us/shiny/test-apps/hello я перенаправлен на http://mschwarz.us/test-apps/hello/

Вот несколько последних строк в блестящем журнале:

^[[33m[2017-02-26 22:50:57.118] [WARN] shiny-server - ^[[39mNo host header sent by user-agent undefined
^[[31m[2017-02-27 07:18:07.658] [ERROR] shiny-server - ^[[39mFailed to render error 500 page: Can't set headers after they are sent.

Спасибо!

Эта линия

rewrite ^(/shiny/[^/]+)$ $1/ permanent;

поскольку добавляя завершающую косую черту, вы добавляете косую черту для каждого запроса, начинающегося с /shiny/ Есть еще одна причина для этой строки? без косой черты в конце

rewrite ^(/shiny/[^/]+)$ $1 permanent;