Nginx正在阻止从Flask Server获取自动Favicon

时间:2015-05-27 19:42:44

标签: nginx flask webserver

我使用Nginx进行代理,因为我在同一台计算机和ip地址上有两个Flask Web服务器。我使用Nginx将数据代理到localhost上的不同端口,具体取决于使用的域。出于某种原因,Safari和Firefox在通过Nginx访问服务器时不会自动获取favicon。我试过直接访问Web服务器,跳过Nginx,它显示了favicon。另外,我尝试添加"链接"标记在头部并通过nginx访问服务器,这也有效。为什么它会自动失效?

解决方案:使用Nginx提供文件

我的设置:

的Nginx:

www.domain.com文件:

server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;

# Make site accessible from http://localhost/
server_name www.domain.com;

location / {
    access_log off;
    proxy_pass http://localhost:4000;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}

blog.domain.com文件:

server {
listen 80;
listen [::]:80;

# Make site accessible from http://localhost/
server_name blog.domain.com;

location / {
    access_log off;
    proxy_pass http://localhost:4500;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}

烧瓶

两个烧瓶服务器都包含这个(它们从静态文件夹中提供favicon.ico):

@app.route('/favicon.ico')
def favicon():
    return redirect(url_for('static', filename='favicon.ico'))

0 个答案:

没有答案