更新時間:2022-05-19 09:54:02 來源:動力節點 瀏覽19184次
NGINX 是許多網站和組織使用的強大 Web 服務器。但是,有時可能會發生您已配置 NGINX 服務器但無法從外部公共 IP 或外部框訪問您的網站的情況。這是新系統管理員面臨的常見問題。在本文中,我們將學習如何解決無法從外部訪問 NGINX 的問題。
如果您無法從外部訪問 NGINX,請執行以下步驟。
1. 更新 server_name
server_name 指令是 NGINX 服務器響應的域和子域的名稱。如果您為其值輸入 IP 地址,那么您將無法訪問 NGINX。這是錯誤配置的示例。
服務器名稱 54.54.32.21;
這是正確配置的示例。在這種情況下,您的 NGINX 服務器將處理發送到 www.example.com 的請求。
server_name www.example.com;
基本上你需要使用一個或多個域名/子域名,而不是 IP 地址。例如,如果您希望同一服務器到服務器對 www.example.com 和 blog.example.com 的請求,您可以更新 server_name 指令,如下所示。
server_name www.example.com blog.example.com
如果要為所有域和子域提供服務,請更新 server_name,如圖所示。
服務器名稱 _;
但是在進行上述更改之前請小心,因為您不希望您的服務器不必要地為所有域和子域提供服務。
2. 更新 /etc/hosts
如果上述步驟對您不起作用,請在文本編輯器中打開 /etc/hosts 文件。
$ sudo vi /etc/hosts
添加您的 NGINX 服務器的公共 IP 地址以及您的域名。
54.54.32.21 www.example.com
保存并關閉文件。
3.更新防火墻
如果上述步驟對您不起作用,則可能是您的防火墻阻止了外部入站流量。在這種情況下,只需運行以下命令即可禁用防火墻。
$ sudo ufw 禁用
禁用防火墻后,檢查您的網站是否可以訪問。如果是這樣,那么您需要重新啟用我們的防火墻,但打開端口 80 或其他運行 NGINX 服務器的端口。
如果您甚至無法從本地計算機訪問 NGINX,那么很可能另一個進程正在 NGINX 所需的端口上運行。在這種情況下,更新“listen”指令中提到的端口號以在不同的端口上運行 NGINX。如果你發現它正在工作,然后使用 netstat 命令找出運行在 NGINX 所需的端口 80 上的進程。
$ sudo netstat -tulpn
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習