listen
指令的语法如下所示。
server {
listen ADDRESS:PORT;
}
但ADDRESS和PORT在这里意味着什么? 客户端IP地址的地址?或服务器IP地址?或者请求的IP地址?所以作为PORT部分,谁的端口要听?
listen
指令的正确参数是否可以?
listen 46.137.123.236:80;
并且,在哪种情况下,我应该指定IP地址而不是*:80
?
答案 0 :(得分:0)
listen指令指定nginx服务器的ip和端口。请求被路由到nginx,然后nginx将它们分发到上游池。根据您的图表,运行nginx的主机位于46.137.123.236
,192.168.11.12
地址是nginx将请求路由到的上游池成员。
ip是运行nginx应用程序的主机的ip。至于端口,您可以选择自己的端口。您必须确保端口是开放的,不受任何防火墙限制或被其他程序使用。虽然您可以使用您选择的任何端口,但通常的做法是为特定类型的应用程序使用特定端口。例如,http服务器通常使用端口80,并且互联网浏览器默认使用此端口。如果您选择其他端口并使用浏览器,则应在请求中明确指定所选端口。在您的示例中,假设请求ip和port是nginx所在的位置,那么您可以通过将listen 46.137.123.236:80;
指定为ip和port来正确。
转发https时,通常使用备用端口。例如,在这种情况下你可以使用443。在企业环境中,您可能只有几个端口可供使用,在这种情况下,有http和https的标准端口。