如何设置RStudio服务器以在AWS上使用SSL运行? [英] How can I set up an RStudio server to run with SSL on AWS?

查看:43
本文介绍了如何设置RStudio服务器以在AWS上使用SSL运行?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我对在AWS实例上运行RStudio服务器并通过SSL加密连接访问服务器感兴趣。

如何设置?

aws

启动一个推荐答案实例,操作系统为ubuntu,安全组在端口443上有HTTPS入站连接,另外还有通过端口22的SSH连接。您的实例还必须具有公共DNS。

机器启动并运行后,使用SSH登录。

按照提供的说明安装RStudio服务器here,方法是执行:

sudo apt-get update
sudo apt-get install r-base
sudo apt-get install gdebi-core
wget https://download2.rstudio.org/rstudio-server-1.1.463-amd64.deb 
sudo gdebi rstudio-server-1.1.463-amd64.deb

注意:.deb文件的确切名称将随较新版本的RStudio服务器而改变。

我们将按照herehere提供的说明将nginx Web服务器配置为reverse proxyRStudio服务器到Web浏览器并使用SSL。要安装nginx,请执行:

sudo apt-get install nginx

创建SSL证书:

sudo mkdir /etc/nginx/ssl
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/nginx.key -out /etc/nginx/ssl/nginx.crt
后一个命令创建两个文件:密钥文件和SSL证书文件。

/etc/nginx/conf.d/rstudio.conf下创建一个文件并进行编辑(注意:您需要使用sudo nano /etc/nginx/conf.d/rstudio.conf或类似的工具进行编辑)才能添加:

server {
        listen 80;
        listen [::]:80;

        listen 443 ssl;
        ssl_certificate /etc/nginx/ssl/nginx.crt;
        ssl_certificate_key /etc/nginx/ssl/nginx.key;

        server_name ec2-11-22-333-444.us-west-2.compute.amazonaws.com;

        location / {
             proxy_pass http://localhost:8787/;
             proxy_redirect http://localhost:8787/ $scheme://$host/;
             proxy_http_version 1.1;
             proxy_set_header Upgrade $http_upgrade;
             proxy_set_header Connection $connection_upgrade;
             proxy_read_timeout 20d;
        }
}

其中将server_name字段替换为您的AWS实例的公共DNS IP。

此外,您还需要编辑/etc/nginx/nginx.conf文件,将以下行添加到http挡路中:

http {
       # All you other settings up here... 

       server_names_hash_bucket_size 128;

       map $http_upgrade $connection_upgrade {
              default upgrade;
              ''      close;
                  }

}

server_names_hash_bucket_size设置为128很重要,原因如下here

最后编辑/etc/rstudio/rserver.conf配置文件以添加行:

www-address=127.0.0.1
接下来,为您的用户创建用户帐户。例如:

sudo adduser arokem

您现在应该可以同时重新启动nginx和RStudio-server:

sudo rstudio-server restart
sudo systemctl restart nginx

并将您的浏览器定向到https://ec2-11-22-333-444.us-west-2.compute.amazonaws.com。您可能会收到来自浏览器的警告,提示您的浏览器无法识别您的SSL证书。可以安全地忽略此警告(在本例中),并进入RStudio服务器登录窗口。使用您刚刚创建的用户登录名访问RStudio。

这篇关于如何设置RStudio服务器以在AWS上使用SSL运行?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆