Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache 使用Nginx代理服务器设置Rstudio时出错_Apache_R_Nginx_Rstudio - Fatal编程技术网

Apache 使用Nginx代理服务器设置Rstudio时出错

Apache 使用Nginx代理服务器设置Rstudio时出错,apache,r,nginx,rstudio,Apache,R,Nginx,Rstudio,我的桌面上运行着Rstudio,我可以通过以下网址访问它 从中可以看出,设置反向代理似乎是一种谨慎的安全措施(如果我错了,请纠正我) 我正在使用Ubuntu11.04 按照该页面的说明,我安装了ngnix并将代码片段添加到/etc/nginx/nginx.conf: http { server { listen 80; location / { proxy_pass http://localhost:8787; proxy_redirect http

我的桌面上运行着Rstudio,我可以通过以下网址访问它

从中可以看出,设置反向代理似乎是一种谨慎的安全措施(如果我错了,请纠正我)

我正在使用Ubuntu11.04

按照该页面的说明,我安装了ngnix并将代码片段添加到
/etc/nginx/nginx.conf

http {
  server {
    listen 80;

    location / {
      proxy_pass http://localhost:8787;
      proxy_redirect http://localhost:8787/ $scheme://$host/;
    }
  }
}
sudo nginx restart-v
返回以下错误:

nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
Restarting nginx: nginx: [emerg] unknown directive "location" in 
/etc/nginx/nginx.conf:93
此外,如果我包含以下代码段(以便链接到/rstudio而不是:8787):

sudo nginx restart-v
返回以下错误:

nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
Restarting nginx: nginx: [emerg] unknown directive "location" in 
/etc/nginx/nginx.conf:93
我有两个问题:

  • 如果我使用强密码,反向代理服务器有多大必要
  • 我怎样才能克服这些错误

  • 看起来端口80已经在使用中。根据您的标题/问题中互换的“Apache”和“Nginx”,我猜您可能有两台web服务器在运行

    我假设您希望选择Nginx并使用它,因为您正在配置它。如果是这种情况,您将希望关闭Apache。(
    sudo/etc/init.d/httpd-stop
    sudo/etc/init.d/apache2-stop
    ——您必须在/etc/init.d/中查看Apache在Ubuntu中运行的服务)

    然后尝试重新启动nginx,看看这是否修复了错误#1

    关于您的第一个问题,出于安全目的使用反向代理当然是个好主意,实际上它与您的密码强度无关。RStudio并非设计为web服务器,因此其中必然存在各种未被发现的漏洞——部分原因是它是一个新项目,部分原因是它不是设计为一个可靠的web服务器。另一方面,Apache或nginx经过专门设计和加固,能够暴露在公共网络(如Internet)中,而不会危及系统的安全性。因此,您也可以使用它(在用户名和密码方面),但是您不太容易受到来自外部网络的高级攻击


    同时请记住,安装反向代理的主要目的是使您的计算机上唯一公开的服务是Apache/Nginx——因此请确保将防火墙配置为阻止端口8787;否则,配置反向代理毫无意义。

    端口80似乎已经在使用中。根据您的标题/问题中互换的“Apache”和“Nginx”,我猜您可能有两台web服务器在运行

    我假设您希望选择Nginx并使用它,因为您正在配置它。如果是这种情况,您将希望关闭Apache。(
    sudo/etc/init.d/httpd-stop
    sudo/etc/init.d/apache2-stop
    ——您必须在/etc/init.d/中查看Apache在Ubuntu中运行的服务)

    然后尝试重新启动nginx,看看这是否修复了错误#1

    关于您的第一个问题,出于安全目的使用反向代理当然是个好主意,实际上它与您的密码强度无关。RStudio并非设计为web服务器,因此其中必然存在各种未被发现的漏洞——部分原因是它是一个新项目,部分原因是它不是设计为一个可靠的web服务器。另一方面,Apache或nginx经过专门设计和加固,能够暴露在公共网络(如Internet)中,而不会危及系统的安全性。因此,您也可以使用它(在用户名和密码方面),但是您不太容易受到来自外部网络的高级攻击


    同时请记住,安装反向代理的主要目的是使您的计算机上唯一公开的服务是Apache/Nginx——因此请确保将防火墙配置为阻止端口8787;否则,配置反向代理就没有意义了。

    您的标题提到了apache,但您的问题只是讨论了Nginx。你想在Nginx或apacheweb服务器上设置这个吗?@JeffAllen也可以;抱歉打错了,太好了。然后看下面我的答案。如果您无法启动nginx,那么您可以尝试使用RStudio提供的Apache指令,看看是否可以更轻松地启动它。为什么不让RStudio在8787,不管http服务器在80。。。使用ssh隧道连接到该服务器上的8787?@DirkEddelbuettel我不太明白-你的意思是使用带有X-forwarding的ssh隧道而不是使用web浏览器吗?你的标题提到了apache,但你的问题只是讨论了Nginx。你想在Nginx或apacheweb服务器上设置这个吗?@JeffAllen也可以;抱歉打错了,太好了。然后看下面我的答案。如果您无法启动nginx,那么您可以尝试使用RStudio提供的Apache指令,看看是否可以更轻松地启动它。为什么不让RStudio在8787,不管http服务器在80。。。并使用ssh隧道连接到该服务器上的8787?@DirkEddelbuettel我不太明白-你的意思是使用带有X转发的ssh隧道而不是使用web浏览器吗?