在 n8n 升到 2.0 後除了 ["The file is not writable" in n8n ](/giJarM8yRe6y3GDfJElUkA) 的問題以外,還偶然發現另一個問題。起源是在 Win7 最後的 Chrome 版本 (109.0.5414.120) 中無法正確操作 (save 與 publish 區塊系統顯示 "Connection Lost" 且 Editor 畫面明顯不完整),實際上也未釐清這個問題是無痕模式的問題還是 Chrome 版本老舊的問題。在此之前多剛好是用 Firefox 做操作的,要釐清確切原因有些費工。 但總之,在排查過程中發現 `POST http://localhost:5678/rest/telemetry/proxy/v1/page net::ERR_CONNECTION_REFUSED` 這樣的錯誤。初步判斷是某個預設值應該要在 container 佈署配合 reverse proxy 運用的情況讓系統能正確調整某些端點和前端行為。經確認官方確實有提供些關於[使用 Reverse Proxy 時的設置建議](https://docs.n8n.io/hosting/configuration/configuration-examples/webhook-url/#configure-n8n-webhooks-with-reverse-proxy),其中包含 [`WEBHOOK_URL`](https://docs.n8n.io/hosting/configuration/environment-variables/endpoints/) 和 [`N8N_PROXY_HOPS`](https://docs.n8n.io/hosting/configuration/environment-variables/deployment/) 兩個環境變數,[再多](https://community.n8n.io/t/using-n8n-from-a-reverse-proxy/163421)理論上來說也應該也是不用的,不過[另一邊](https://docs.n8n.io/user-management/best-practices/#self-hosted)有文件多列了幾個,看起來有些應該只是生成介面使用而已。 p.s. 在這過去數個月以來,我兩個都沒加也是沒發現什麼問題。除了 terminal 上 Initializing 完成後提示使用的 web interface 位置,以及少了一個跟 `X-Forwarded` header 相關的警告訊息 [`ValidationError: The 'X-Forwarded-For' header is set but the Express 'trust proxy' setting is false (default).`](https://community.n8n.io/t/x-forwarded-for-header-is-set-but-the-express-trust-proxy-s/51208/7) 以外,我沒發現哪邊更動了。 加上後,n8n 還是會發出相關的錯誤 request,在已經透過 terminal 訊息確認到環境變數有確實造成影響的情況下,這非常令人費解。後來在一陣翻找後發現了中國用戶的[相關記錄](https://www.krjojo.com/12561.html),直指解法:調整 [`N8N_DIAGNOSTICS_ENABLED`](https://docs.n8n.io/hosting/securing/telemetry-opt-out/#opt-out-of-telemetry-events) 或 [`N8N_HOST`](https://docs.n8n.io/hosting/configuration/environment-variables/deployment/),兩者擇一。前者關閉對這個 url 的 request,也就是創造一些使用分析的記錄。後者調整真正會影響這個行為的變數,不過只改 `N8N_HOST` 能過應該是因為作者的 port mapping 是內外相符的,像我對外是 443 的話大概 `N8N_PORT` 也要改。但總之我直接選了前者,沒有確認後者。 而驗證過程中也偶然發現,其實這個問題在我用 Firefox 操作,以為一切正常時,其實也是持續發生著的,從這方面至少可以排除這個錯誤和前述無法正常操作之間的直接關連。 在 Win7+Chrome 下無法正常操作大概就是老了,成了各種沒人要管的情境了。
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up