一、檢查ip/port是否正確
首先,當nginx連接被拒絕時,我們需要確認我們所請求的ip/port是正確的。
如果您使用的是域名,請確保您的DNS設置是正確的,並且指向了正確的ip地址。
location / { proxy_pass http://localhost:3000/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }
在上面的示例代碼中,proxy_pass指令後的ip地址和port就是我們需要檢查的部分。
二、查看是否啟動了對應的服務
如果ip/port地址正確無誤,可以檢查一下您需要代理的服務是否啟動。
如果您需要代理的服務沒有啟動,那麼nginx將無法連接到該服務,
因此將會出現”nginx連接被拒絕”的錯誤。
sudo systemctl status my-app.service
使用systemctl指令來查看您需要代理的服務是否正在運行。
三、檢查防火牆規則
如果您的ip/port地址正確,您要代理的服務也已經啟動,可能問題就出現在防火牆。
如果您的服務器啟用了某種防火牆功能,它可能會阻止nginx連接到對應的服務。
sudo ufw app list
使用ufw來檢查防火牆服務列表,確認要代理的服務端口是開啟的。
四、更改nginx配置文件
如果以上三個方面都檢查正確,您可以嘗試更改nginx配置文件,
例如增加連接超時時間等指令來解決”nginx連接被拒絕”的問題。
server { … proxy_connect_timeout 600; proxy_send_timeout 600; proxy_read_timeout 600; … }
在上面的示例代碼中,我們使用proxy_connect_timeout,proxy_send_timeout和proxy_read_timeout來增加連接的超時時間。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/249096.html