diff --git a/api/nginx/nginx_log.go b/api/nginx/nginx_log.go index 041c5462..b2b3599f 100644 --- a/api/nginx/nginx_log.go +++ b/api/nginx/nginx_log.go @@ -3,7 +3,6 @@ package nginx import ( "encoding/json" "github.com/0xJacky/Nginx-UI/api" - "github.com/0xJacky/Nginx-UI/internal/helper" "github.com/0xJacky/Nginx-UI/internal/logger" "github.com/0xJacky/Nginx-UI/internal/nginx" "github.com/gin-gonic/gin" @@ -50,7 +49,7 @@ func GetNginxLogPage(c *gin.Context) { return } - f, err := os.Open(logPath) + logFileStat, err := os.Stat(logPath) if err != nil { c.JSON(http.StatusOK, nginxLogPageResp{}) @@ -58,7 +57,13 @@ func GetNginxLogPage(c *gin.Context) { return } - logFileStat, err := os.Stat(logPath) + if !logFileStat.Mode().IsRegular() { + c.JSON(http.StatusOK, nginxLogPageResp{}) + logger.Error("log file is not regular file:", logPath) + return + } + + f, err := os.Open(logPath) if err != nil { c.JSON(http.StatusOK, nginxLogPageResp{}) @@ -188,8 +193,16 @@ func tailNginxLog(ws *websocket.Conn, controlChan chan controlStruct, errChan ch Whence: io.SeekEnd, } - if !helper.FileExists(logPath) { - errChan <- errors.New("error log path not exists " + logPath) + stat, err := os.Stat(logPath) + if os.IsNotExist(err) { + errChan <- errors.New("[error] log path not exists " + logPath) + return + } + + if !stat.Mode().IsRegular() { + errChan <- errors.New("[error] " + logPath + " is not a regular file. " + + "If you are using nginx-ui in docker container, please refer to " + + "https://nginxui.com/zh_CN/guide/config-nginx-log.html for more information.") return } diff --git a/app/src/version.json b/app/src/version.json index fb47f6d3..ffe66b94 100644 --- a/app/src/version.json +++ b/app/src/version.json @@ -1 +1 @@ -{"version":"2.0.0-beta.11","build_id":109,"total_build":313} \ No newline at end of file +{"version":"2.0.0-beta.11","build_id":110,"total_build":314} \ No newline at end of file diff --git a/app/version.json b/app/version.json index fb47f6d3..ffe66b94 100644 --- a/app/version.json +++ b/app/version.json @@ -1 +1 @@ -{"version":"2.0.0-beta.11","build_id":109,"total_build":313} \ No newline at end of file +{"version":"2.0.0-beta.11","build_id":110,"total_build":314} \ No newline at end of file diff --git a/resources/demo/app.ini b/resources/demo/app.ini index b58e414f..3b5487b2 100644 --- a/resources/demo/app.ini +++ b/resources/demo/app.ini @@ -8,7 +8,7 @@ StartCmd = bash NodeSecret = fdc7764f-92d2-454c-9640-6a09be121139 Demo = true -[nginx_log] +[nginx] AccessLogPath = /var/log/nginx/access.local.log ErrorLogPath = /var/log/nginx/error.local.log