【问题标题】:Failed to load resource: net::ERR_CONNECTION_TIMED_OUT on remote but works fine on localhost无法加载资源:net::ERR_CONNECTION_TIMED_OUT 在远程但在 localhost 上工作正常
【发布时间】:2020-11-26 11:12:49
【问题描述】:

我对 asp.net 核心网站做出了反应。它在 localhost 上运行良好,但在 iis 远程服务器上发布时会发生超时错误。 前端(react 客户端)和后端(服务器)asp.netcore webapi 独立工作。

在上传之前,我在 webapi 的 program.cs 中更改了以下内容。

usUrl("https://localhost:4000")useUrl("https://www.virtualcollege.pk:4000") 我也同样改变了前端的baseurl。

此外,appsettings.json 中的连接字符串对于两个数据库都是正确的。 我添加了迁移并成功更新了数据库。 该网站处于活动状态,但发生超时错误: virtualcollege.pk

我还尝试了带有“https://myip-address:4000”的网址 提前感谢您的帮助。 如果我从 url 中删除端口号并在本地文件夹上发布,而不是上传到远程服务器。本地机器上的 webapi.exe 运行如下:

【问题讨论】:

  • 您必须在防火墙的传入规则中打开 4000 端口。
  • 嗨@Alex 我如何访问远程托管服务器上的防火墙?我可以从 'https://www.virtualcollege.pk/api/courses' 之类的 url 中删除端口 4000
  • 嗨@Alex我已经从url中删除了端口号现在错误是:GET https://www.virtualcollege.pk/api/courses/ 404 创建新用户有同样的错误POST https://www.virtualcollege.pk/users/register 404

标签: reactjs asp.net-core asp.net-core-webapi connection-string


【解决方案1】:

您必须打开 4000 端口的传入请求。试试下面的一些方法。

Windows 服务器

Please check this linkthis one

Ubuntu/Debian

sudo ufw allow 4000/tcp
sudo ufw status // check status

CentOS

首先,你应该禁用 selinux,编辑文件 /etc/sysconfig/selinux 使其看起来像这样:

SELINUX=disabled
SELINUXTYPE=targeted

保存文件并重启系统。

然后就可以在iptables中添加新规则了:

iptables -A INPUT -m state --state NEW -p tcp --dport 4000 -j ACCEPT

然后用/etc/init.d/iptables restart重启iptables

【讨论】:

  • hie @Alex 我要求托管服务提供商为防火墙中的传入规则打开 3000 和 4000 端口。他们已经打开了这些端口。但是在远程也有同样的错误,但在本地机器上使用 url localhost 可以正常工作。谢谢和问候
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-03-25
  • 1970-01-01
  • 2013-12-31
  • 1970-01-01
  • 2018-01-28
  • 2011-01-19
  • 1970-01-01
相关资源
最近更新 更多