Я запускаю 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).