最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

Apache2 托管角度应用程序不会向网络外的 node.js 应用程序托管的 API 发出 http 请求

网站源码admin51浏览0评论

Apache2 托管角度应用程序不会向网络外的 node.js 应用程序托管的 API 发出 http 请求

Apache2 托管角度应用程序不会向网络外的 node.js 应用程序托管的 API 发出 http 请求

我有一个通过 Apache2 网络服务器运行的 Angular 应用程序,它可以对 Firebase 上的数据库进行 http 调用。在我的路由器上打开端口后,在我的家庭网络内部和家庭网络外部都运行良好。

一切都很完美,但想在我的服务器上使用 PSQL 托管我自己的数据库。

所以我构建了一个 express.js 节点服务器,它具有与我创建的 PSQL 数据库通信的端点。然后我调整了我的 Angular 应用程序以对 express.js 服务器进行 http 调用。在我的家庭网络中,一切都很好。但是,从我的网络外部打开了 Angular 应用程序,但没有来自 PSQL 数据库的数据。

我已经检查了日志,/var/logs/apache2/access.log 会在我点击刷新时显示 GET 请求……但没有显示任何数据。我在 express 服务器中有一个 console.log,每当有 http 请求进入时,它都会向我显示一条小消息,但是当从网络外部访问它时,没有任何内容打印到控制台...在我的网络中运行时打印到控制台很好.

我正在使用的设置: apache2 ports.conf 我正在侦听端口 80。我创建了自己的虚拟主机,启用了它,并禁用了默认的 000-default。我的主机文件与默认文件几乎相同,只是将 documentroot 更改为正确的文件夹。 我的快速服务器在端口 3000 上运行。每个端点路由运行 PSQL 查询的请求。两台服务器都在同一台机器上运行。端口 80 和 3000 都添加到我的路由器的端口转发设置中。

虚拟主机文件:

  <VirtualHost *:80>
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/psql

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
  </VirtualHost>

我的快递服务器的一个例子:

app.get('/rss', rss_db.getRSS)

回调在外部文件中,看起来像:

const getRSS = (request, response) => {
 pool.query('SELECT * FROM rss ORDER BY rss_id ASC', (error, results) => {
  if (error) {
  throw error
  }
  console.log("request made")
  response.status(200).json(results.rows)
 })
}

Angular 应用程序的数据服务发出此 http get 请求(ip 是服务器地址):

return this.http.get<any>(http://192.168.1.2:3000/rss);
回答如下:
发布评论

评论列表(0)

  1. 暂无评论