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

Приложение по-прежнему доступно через порт с обратным проксированием

Я запускаю RStudio Server и Jupyter на сервере. Я использую Apache.

У меня есть обратный прокси-сервер Jupyter с порта 8888 на jupyter.myserver.com и RStudio Server с обратным прокси-сервером с порта 8787 на rstudio.myserver.com. Я не могу получить доступ к jupyter на myserver.com:8888. Однако я МОГУ получить доступ к серверу RStudio по адресу myserver.com:8787.

Я использую один и тот же формат обратного прокси для обоих.

Если я добавлю listen 80 наверху моего .conf файл, я получаю сообщение об ошибке:

Невозможно определить несколько прослушивателей на одном IP: порту

1) В чем причина?
2) Как предотвратить доступ url: port к Rstudio?

<VirtualHost *:80>
        ServerAdmin admin@myserver.com
        ServerName jupyter.myserver.com
        ServerAlias jupyter.myserver.com
        ProxyRequests Off

        <Location />
                ProxyPreserveHost On
                ProxyPass http://localhost:8787/
                ProxyPassReverse http://localhost:8787/
        </Location>

</VirtualHost>

Из документация, настройте RStudio для прослушивания адреса обратной связи 127.0.0.1 вместо IP-адреса сервера, поэтому он будет принимать только локальные соединения (например, от Apache на том же сервере):

Сетевой порт и адрес. После первоначальной установки RStudio принимает соединения через порт 8787. Если вы хотите перейти на другой порт, вы должны создать файл /etc/rstudio/rserver.conf (если он еще не существует) и добавить www-порт запись, соответствующая порту, который RStudio должен прослушивать. Например:

www-port=80

По умолчанию RStudio привязывается к адресу 0.0.0.0 (принимает соединения с любого удаленного IP-адреса). Вы можете изменить это поведение, используя запись www-адреса. Например:

www-address=127.0.0.1

Обратите внимание, что после редактирования файла /etc/rstudio/rserver.conf вы всегда должны перезапускать сервер, чтобы применить ваши изменения (и проверить правильность записей конфигурации). Вы можете сделать это, введя следующую команду:

$ sudo перезапуск rstudio-сервера

Или включите брандмауэр сервера и заблокируйте входящие соединения на всех портах, кроме 22 (SSH) и 80 (Apache).