流浪汉,NGINX仅适用于非80端口(Vagrant and NGINX only works on

2019-10-23 19:33发布

对于这篇文章的目的,我使用的流浪推出NGINX(通过码头工人,但我不认为这并不重要)。

我的流浪如下所示:

VAGRANTFILE_API_VERSION = "2"

Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|

  #Assign Box and VM Properties
  config.vm.box = "ubuntu/trusty64"

  config.vm.provider "virtualbox" do |v|
    v.memory = 1024
    v.cpus = 2
  end

  # Network
  config.vm.network "forwarded_port", guest:80, host: 80  #--> DOESN'T WORK localhost
  config.vm.network "forwarded_port", guest:80, host:8391 #--> WORKS localhost:8391

  # Provision
  config.vm.provision :shell, inline: "sudo apt-get update"
  config.vm.provision :docker

end

我们的目标是能够HIST NGINX对localhost而不是localhost:8391

我知道,NGINX是在80听,因为映射,并从内部运行流浪汉卷曲。

Answer 1:

您可以使用setcap以便能够使用1024端口下非root用户特定的二进制文件。

在Linux下这只能且必须适用于放浪盒,使用端口80的盒内,和你的主机,将主机上使用端口80。

您需要包libcap2斌,如用apt:

  • 命令和apt-get安装libcap2斌
  • 须藤setcap CAP_NET_BIND_SERVICE = + EP /路径/到/ nginx的二进制

此后NGINX被允许使用80端口的框,用户无业游民内。 现在,您的主机上启用流浪设置。

  • 须藤setcap CAP_NET_BIND_SERVICE = + EP /路径/到/流浪二进制


Answer 2:

在一般使用时,流浪汉,你不能绑定到端口1024或下的主机上,除非你运行它的根。 (与其他的应用程序,它显然不建议运行放浪为根。)

作为替代方案,如果你不需要连接到“localhost”的具体情况,你可以尝试建立一个专用网络让你流浪的框有一个独立的IP地址。 见http://docs.vagrantup.com/v2/networking/private_network.html获取更多信息。 这应该让你连接到端口80上的IP罚款。



文章来源: Vagrant and NGINX only works on ports other than 80