Я использую RStudio Server и Jupyter на сервере. Я использую Apache.
Я использую Jupyter для обратного проксирования с порта 8888 на jupyter.myserver.com, и RStudio Server через порт 8787 с обратным проксированием на rstudio.myserver.com. Я не могу получить доступ к jupyter на myserver.com:8888. Однако я МОГУ получить доступ к серверу RStudio по адресу myserver.com:8787.[12128 impression Я использую один и тот же формат обратного прокси для обоих.
Если я добавлю 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-server restart
Или включите брандмауэр сервера и заблокируйте входящие соединения на всех портах, кроме 22 (SSH) и 80 (Apache).