更新時(shí)間:2022-05-19 09:54:02 來(lái)源:動(dòng)力節(jié)點(diǎn) 瀏覽19838次
NGINX 是許多網(wǎng)站和組織使用的強(qiáng)大 Web 服務(wù)器。但是,有時(shí)可能會(huì)發(fā)生您已配置 NGINX 服務(wù)器但無(wú)法從外部公共 IP 或外部框訪問(wèn)您的網(wǎng)站的情況。這是新系統(tǒng)管理員面臨的常見(jiàn)問(wèn)題。在本文中,我們將學(xué)習(xí)如何解決無(wú)法從外部訪問(wèn) NGINX 的問(wèn)題。
如果您無(wú)法從外部訪問(wèn) NGINX,請(qǐng)執(zhí)行以下步驟。
1. 更新 server_name
server_name 指令是 NGINX 服務(wù)器響應(yīng)的域和子域的名稱。如果您為其值輸入 IP 地址,那么您將無(wú)法訪問(wèn) NGINX。這是錯(cuò)誤配置的示例。
服務(wù)器名稱 54.54.32.21;
這是正確配置的示例。在這種情況下,您的 NGINX 服務(wù)器將處理發(fā)送到 www.example.com 的請(qǐng)求。
server_name www.example.com;
基本上你需要使用一個(gè)或多個(gè)域名/子域名,而不是 IP 地址。例如,如果您希望同一服務(wù)器到服務(wù)器對(duì) www.example.com 和 blog.example.com 的請(qǐng)求,您可以更新 server_name 指令,如下所示。
server_name www.example.com blog.example.com
如果要為所有域和子域提供服務(wù),請(qǐng)更新 server_name,如圖所示。
服務(wù)器名稱 _;
但是在進(jìn)行上述更改之前請(qǐng)小心,因?yàn)槟幌M姆?wù)器不必要地為所有域和子域提供服務(wù)。
2. 更新 /etc/hosts
如果上述步驟對(duì)您不起作用,請(qǐng)?jiān)谖谋揪庉嬈髦写蜷_(kāi) /etc/hosts 文件。
$ sudo vi /etc/hosts
添加您的 NGINX 服務(wù)器的公共 IP 地址以及您的域名。
54.54.32.21 www.example.com
保存并關(guān)閉文件。
3.更新防火墻
如果上述步驟對(duì)您不起作用,則可能是您的防火墻阻止了外部入站流量。在這種情況下,只需運(yùn)行以下命令即可禁用防火墻。
$ sudo ufw 禁用
禁用防火墻后,檢查您的網(wǎng)站是否可以訪問(wèn)。如果是這樣,那么您需要重新啟用我們的防火墻,但打開(kāi)端口 80 或其他運(yùn)行 NGINX 服務(wù)器的端口。
如果您甚至無(wú)法從本地計(jì)算機(jī)訪問(wèn) NGINX,那么很可能另一個(gè)進(jìn)程正在 NGINX 所需的端口上運(yùn)行。在這種情況下,更新“listen”指令中提到的端口號(hào)以在不同的端口上運(yùn)行 NGINX。如果你發(fā)現(xiàn)它正在工作,然后使用 netstat 命令找出運(yùn)行在 NGINX 所需的端口 80 上的進(jìn)程。
$ sudo netstat -tulpn
Java實(shí)驗(yàn)班
0基礎(chǔ) 0學(xué)費(fèi) 15天面授
Java就業(yè)班
有基礎(chǔ) 直達(dá)就業(yè)
Java夜校直播班
業(yè)余時(shí)間 高薪轉(zhuǎn)行
Java在職加薪班
工作1~3年,加薪神器
Java架構(gòu)師班
工作3~5年,晉升架構(gòu)
提交申請(qǐng)后,顧問(wèn)老師會(huì)電話與您溝通安排學(xué)習(xí)