Вставьте сайт node.js в блестящее приложение под той же машиной - PullRequest
0 голосов
/ 19 июня 2019

Я настроил веб-сайт node.js, работающий через порт 8080 на сервере. Однако порт 8080 закрыт для общего доступа, и я могу получить доступ к этому веб-сайту только с другого компьютера, используя туннель ssh и переадресацию портов. У меня также есть глянцевый сервер, установленный на этом компьютере, и я могу разместить блестящие приложения на порту 3838, который открыт для общественности.

У меня вопрос: возможно ли разместить этот сайт в блестящем приложении, чтобы мы могли заходить на сайт через открытый порт 3838?

У меня нет разрешения изменять какие-либо настройки порта на сервере, и 3838 является единственным видимым портом. Цель этого - сделать этот сайт общедоступным, не запрашивая дополнительного разрешения. Таким образом, туннелирование и переадресация портов также не рассматриваются.

Я пытался просто обернуть сайт в iframe, используя приведенный ниже код, но он не сработал.

server <- function(input, output) {

  output$frame <- renderUI({
      tags$iframe(src = "https://localhost:8080", style="width:100%;",  frameborder="0", height = 1200)
  })
}

При открытии блестящего приложения на другом компьютере, iframe будет ссылаться «localhost» на клиентский компьютер, а не на сервер (он может работать, если я перенаправлю порт 8080). Я также пытался использовать «localhost: 8080» без префикса «https», но просто не получил ответа.

Покопавшись в некоторых предыдущих темах, я обнаружил, что это наиболее подходящее решение, но речь идет о противоположной ситуации

Как встраивать серверное приложение Shiny в страницу JSP, не раскрывая приложение в другом месте

Похоже, мне нужно настроить прокси-сервер для зеркалирования контента с порта 8080, но я до сих пор не знаю, как это сделать в Shiny. Будем благодарны за любые предложения по этому вопросу.

...