[英]Vagrant and NGINX only works on ports other than 80
出於本文的目的,我正在使用Vagrant(通過Docker啟動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
目標是能夠在localhost
而不是localhost:8391
上對NGINX進行歷史記錄localhost:8391
我知道NGINX由於映射以及在Vagrant中運行CURL而正在監聽80。
您可以使用setcap為非root用戶啟用1024以下端口的特定二進制文件。
這僅在Linux下有效,必須將其應用於“ Vagrant”框,以使用該框內的端口80,以及您的主機,以使用主機上的Port 80。
您需要軟件包libcap2-bin,例如,帶有apt:
之后,NGINX被允許作為用戶游民使用盒子內的端口80。 現在,在主機上啟用Vagrant的設置。
通常,除非使用root用戶運行,否則您不能在主機上綁定到主機上的端口1024或以下端口。 (與其他應用程序一樣,顯然不建議以root身份運行Vagrant。)
或者,如果您不需要連接到“本地主機”,則可以嘗試建立專用網絡,以便您的Vagrant框具有單獨的IP地址。 有關更多信息,請參見http://docs.vagrantup.com/v2/networking/private_network.html 。 那應該可以讓您連接到該IP罰款的端口80。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.