使用Gunicorn和Nginx运行Flask-Vue站点

hzbexzde  于 2023-01-25  发布在  Nginx
关注(0)|答案(1)|浏览(172)

我有一个网站是由我接手的同事创建的。它是用Flask和Vue设计的。经过一些故障排除后,我可以在本地运行这个网站,但当我试图将其部署到服务器上时,我无法让网站运行。
我已经学习了许多教程,其中我使用了以下内容:

    • 独角兽:**一月一日
    • nginx的配置:**
server { 
        listen 80; 
        server_name 192.168.1.1;
        add_header Access-Control-Allow-Origin *;

        # To allow POST on static pages
        error_page  405     =200 $uri;

        location / {
            root frontend/dist;
            try_files $uri $uri/ /index.html;
        }

        location /config {
            include proxy_params;
            proxy_pass http://0.0.0.0:5000;
        }
    }

在我的前端App.vue中,我链接到后端-我已经尝试过了:

backend_url: 'http://127.0.0.1:5000'
backend_url: 'http://192.168.1.1:5000'

然后,当我加载www.example.com时,前端最初启动,但当它通过不同的flask@app.路由与后端通信时,它停止了。192.168.1.1, the frontend starts initially, but when it comes to communicating with the backend via different flask @app.routes, it stops.
我也尝试过使用套接字连接gunicorn和nginx,但遇到了同样的问题。
在Chrome浏览器的控制台上查看时,我会看到:
POST http://192.168.1.1:5000/config net::ERR_CONNECTION_TIMED_OUT 192.168.1.1/:1 Uncaught (in promise) Error: A listener indicated an asynchronous response by returning true, but the message channel closed before a response was received
而在Firefox中,我得到:
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://192.168.1.1:5000/config. (Reason: CORS request did not succeed). Status code: (null)
这就是我在nginx配置文件中添加add_header Access-Control-Allow-Origin *;的原因
有什么想法吗?

    • 连续运行报告系统:**
app = Flask(__name__)
app.config['CORS_HEADERS'] = 'Content-Type'
cors = CORS(app, resources={r"/*": {"origins": "*"}})
eqfvzcg8

eqfvzcg81#

看起来您需要为服务Vue应用程序的域和/或IP启用 flask 中的CORS。
参见 flask 芯延长线How to enable CORS in flask

相关问题