python - 同一台服务器上的 2 个应用程序,不同的端口。第一个应用程序看不到第二个

标签 python node.js apache ubuntu flask

我在同一个 VPS (ubuntu)、同一个域上有 2 个应用程序。首先是 Node.js 应用程序,在端口 :80 上运行 第二个是在 apache 下运行的 Python (Flask) 应用程序,端口:3000 python 应用程序具有简单的 API 和一个端点/test。

我正在尝试使用 Postman 直接在浏览器中或从不同的服务器连接到端点,它可以正常工作。但是当尝试从同一台服务器的 Node 应用程序连接时,我得到 404。CORS 被禁用。

有什么问题吗?

例如: 我的 Flask 应用程序端点正在运行 http://myvps.com:3000/test 尝试在计算机或不同服务器上获取数据时 fetch('http://myvps.com:3000/test').then(...) 它有效。此外,当我在浏览器中访问 myvps.com:3000/test 时,它也能正常工作。

但是当在我的 Node 应用程序上执行完全相同的操作时 fetch('http://myvps.com:3000/test').then(...)(在保存服务器上但是port :80- http://myvps.com ) 获取返回 404 - Not Found。任何不同的外部 API 都可以工作。

虚拟主机配置:

<VirtualHost [server_ip]:3000>
    ServerName ....
    ErrorLog /home/www/python/logs/error.log
    CustomLog /home/www/python/logs/access.log combined

    WSGIDaemonProcess pythonapp user=www-data group=www-data threads=5 python-path=/home/www/python/pythonapp:/home/www/python/pythonapp/env/lib/python3.6/site-packages
    WSGIProcessGroup pythonapp
    WSGIScriptAlias / /home/www/python/pythonapp/pythonapp.wsgi application-group=pythonapp process-group=pythonapp

    <Directory /home/www/python/>
        Order Allow,Deny
        Allow from all
        Require all granted
    </Directory>

    Header set Access-Control-Allow-Origin "*"
    Header set Access-Control-Allow-Methods "POST, GET, OPTIONS, DELETE, PUT"
    Header set Access-Control-Max-Age "1000"
    Header set Access-Control-Allow-Headers "x-requested-with, Content-Type, origin, authorization, accept, client-security-token"
</VirtualHost>

Node.js 应用在 express 上运行。

最佳答案

我整天都在与它作斗争,我在发帖 1 小时后找到了原因...... 问题是虚拟主机配置。我已经更改了<VirtualHost [server_ip]:3000><VirtualHost *:3000>它开始工作了。 谢谢回复!

关于python - 同一台服务器上的 2 个应用程序,不同的端口。第一个应用程序看不到第二个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59173026/

相关文章:

python - 在 Sublime 3 中运行自定义命令之前保存所有文件

python - 用于编辑 csv 文件或 Python 的 Sed 脚本

python - 使用 Python 3 创建具有唯一名称的临时文件?

Javascript 如何将 xml2js 放入函数中

javascript - 作为构建过程的一部分,从 Node/Express View 渲染静态 HTML 文件

apache - 使用 godaddy 安装 ssl 证书

python - 使用 django_tables2 在 django 中的表中添加 CSS 样式

javascript - 为什么我的公共(public)文件夹无法在 NodeJS 应用程序中获取 '/' URL 的文件?

PHP7 和 Apache 编译警告

php - 在 PHP 7 中全局启用 'strict_types'