我设置了一个 nginx 反向代理来指向我的 nodejs 应用程序。当我在搜索栏中输入服务器 IP 时,网站会按预期显示。当我输入域名时,我收到 ERR_CONNECTION_REFUSED 错误。
我的网站有以下可用文件:
server {
listen 80 default_server;
listen [::]:80;
server_name mywebsite.com www.mywebsite.com <server_ip>;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://0.0.0.0:3000/;
#proxy_redirect http://127.0.0.1:3000/ https://$server_name/;
}
}
我还注释掉了default
文件中的所有内容以避免冲突。
我的端口应该打开ufw
:
$ sudo ufw status
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
Nginx Full ALLOW Anywhere
443 ALLOW Anywhere
22 ALLOW Anywhere
22/tcp (v6) ALLOW Anywhere (v6)
Nginx Full (v6) ALLOW Anywhere (v6)
443 (v6) ALLOW Anywhere (v6)
22 (v6) ALLOW Anywhere (v6)
当我对我的域名进行 ping 时,它会返回正确的 IP 地址。
这是输出netstat -tlnp
sudo netstat -tnlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:3000 0.0.0.0:* LISTEN 21671/PM2 v5.3.0: G
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 18646/sshd: /usr/sb
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 26697/nginx: master
tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN 18657/systemd-resol
tcp6 0 0 :::22 :::* LISTEN 18646/sshd: /usr/sb
tcp6 0 0 :::80 :::* LISTEN 26697/nginx: master
答案1
当我在搜索栏中输入服务器 IP 时,网站按预期显示。当我输入域名时,我收到 ERR_CONNECTION_REFUSED 错误。
那么首先要检查的是客户端上的域名解析。尝试固定域名。
(这也证明很多其他因素不是导致问题的原因,包括防火墙)