当我直接通过" mysite.com:3000"访问我的网站时,它会正确显示我的图标。
当我通过NGINX转发80到3000 - " mysite.com"时,它不显示我的favicon,尽管能够在源中正确看到它,并点击源代码中的favicon细
网站的所有其他方面都正确呈现,只缺少图标(不是400错误,它没有在源中找到它,即使我可以通过"查看页面来源"
这是我页面上头部的开头 -
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
以下是&#34; curl -i http:mysite.com/favicon.ico"
的信息HTTP/1.1 200 OK
Server: nginx/1.10.0 (Ubuntu)
Date: Wed, 23 Nov 2016 18:47:30 GMT
Content-Type: image/x-icon
Content-Length: 318
Connection: keep-alive
X-Powered-By: Express
Accept-Ranges: bytes
Cache-Control: public, max-age=0
Last-Modified: Wed, 23 Nov 2016 02:30:49 GMT
ETag: W/"13e-1588f057585"
Vary: Accept-Encoding
(( ▒▒▒? ▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒_wwwwwwwwwwwwwwwwwwwwwwwwwwwqwwwwwwqwwwwwwqwwwwwwqwwwwwwwwwww w!wwwwwvQgwwww11wwwwAgxwwwvwwAgww1wwwwwwwwwwwwwwwwwww
有什么想法吗?
我最初使用Digital Ocean的这些说明设置NGINX(我没有设置使用SSL的结束) - https://www.digitalocean.com/community/tutorials/how-to-set-up-a-node-js-application-for-production-on-ubuntu-16-04
如果它有帮助,我在3000端口运行NodeJS应用程序,Ubuntu 16.04 x 64。
谢谢!
答案 0 :(得分:0)
看一下这个例子,确保你已经配置了类似的东西:
server {
listen 80;
server_name _;
index index.html index.htm;
# this serves for any static file that has extension from regular expression
location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|pdf|txt|tar|wav|bmp|rtf|js|flv|swf|mp3|xml)$ {
root /home/app/public;
expires 30d;
add_header Pragma public;
add_header Cache-Control "public";
}
location / {
log_not_found off;
access_log off;
# my node app listens on 8000
proxy_pass http://127.0.0.1:8000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}