部署了一個網站, 使用localhost和127.0.0.1加端口號可以訪問, 但是使用本機的ip地址加端口號卻不行. 原因可能有多種.
可能的原因:
1 首先要確認是否localhost對應的端口是通的(直接網址訪問), 以及你無法訪問的那個本機ip是否正確(使用ping測試);
2 檢查本機的防火墻, 特別是站入規則;
個人實踐下來, 把防火墻全部關閉后不用再配置具體的規則, 如果還是不行那說明不是這個原因了.
3 查看監聽端口和服務器,最好出現0.0.0.0:7081, 如果沒有,那就加上:
我的問題就是出在這, 原因: 你的程序可能僅綁定到了127.0.0.1,這意味著它只接受來自本機的連接。你需要修改程序配置,使其綁定到0.0.0.0,這樣程序就可以接受來自所有網絡接口的連接。
排查步驟:
cmd中使用命令: netstat -nao | findstr 端口號
netstat -nao | findstr 11434
這是我在添加0.0.0.0后的查找結果, 在此之前我只有127.0.0.1 .問題便是出在這.
解決辦法:
如果是具體的代碼, 修改綁定地址通常涉及更改程序的源代碼、配置文件或啟動腳本中的網絡監聽設置,以指定程序應該監聽的IP地址和端口號。
如果不是, 可以選擇通過powershell添加環境變量的方式. 命令:
二選一
添加用戶級環境變量:
[System.Environment]::SetEnvironmentVariable('OLLAMA_HOST', '0.0.0.0:11434', [System.EnvironmentVariableTarget]::User)
添加系統級環境變量:
如果你的程序需要在系統級別讀取環境變量,或者你需要為所有用戶設置該環境變量,可以使用:
[System.Environment]::SetEnvironmentVariable('OLLAMA_HOST', '0.0.0.0:11434', [System.EnvironmentVariableTarget]::Machine)
注意:
1 更改系統級別的環境變量可能需要管理員權限, 請用管理員方式運行powershell。
2 powershell才可以, cmd終端不行.
驗證程序是否正確綁定。你可以使用 netstat -ano | findstr 11434 來檢查端口是否被正確監聽。