我有一个网站是由我接手的同事创建的。它是用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": "*"}})
1条答案
按热度按时间eqfvzcg81#
看起来您需要为服务Vue应用程序的域和/或IP启用 flask 中的CORS。
参见 flask 芯延长线How to enable CORS in flask