Apache 使用Nginx代理服务器设置Rstudio时出错
我的桌面上运行着Rstudio,我可以通过以下网址访问它 从中可以看出,设置反向代理似乎是一种谨慎的安全措施(如果我错了,请纠正我) 我正在使用Ubuntu11.04 按照该页面的说明,我安装了ngnix并将代码片段添加到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
/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浏览器吗?