我们在Windows Server 2008 64位上运行IIS 7.5。 主要是运行Coldfusion 9,并不真正使用ASP.NET的东西。 有点奇怪,但是当我们查看“工作进程”模块(在“IIS”组中的主服务器条目)并查看当前的工作请求时,它始终显示静态文件的双重条目。 图片,图标(为图标),甚至无扩展名的url总是有双重条目。 但是,我们的Coldfusion文件的条目不这样做。 我已经链接到下面的屏幕截图来显示我的意思(第一列是IIS站点ID,第二列是URL)。 这有什么理由吗? 服务器是否实际处理两次对静态文件的请求? 我玩了我们的应用程序池设置,并将我们的所有应用程序池设置为“No Managed Code”(因为我们的Coldfusion站点从来没有碰到ASP.NET)和“Classic”pipe道模式,但是它并没有帮助这个问题我在“综合”pipe道模式上读到的,我想这可能是为什么)。
在IIS的默认安装中,在<staticContent>部分中指定了大约350个<mimeMap />元素。 有些文件扩展名对我来说似乎是陌生的,例如.sv4cpio , .cpio , .onetoc2 。 我想知道是否值得去除文件扩展名,我知道我永远不会服务? 这样做有没有好处?
我有2个清漆3.0.4服务器在Apache集群边缘(回退导演)。 在我的其中一个网站上,用户login后可下载静态内容,如pdf,图像(jpg,jpeg,png,gif),xls / xlsx等。除exel文件之外的所有文件均被caching。 当下载一个Excel文件时,一切都按预期工作。 当试图下载一个caching的对象的行为是不同的。 即使站点正确显示(出现所有图像),用户也将断开连接,无法读取文件(404从varnishlog)。 login时没有问题浏览网站。 使用主机文件直接指向Apache和文件下载完美。 作为一个临时的解决scheme,告诉清漆不要caching这个网站,并禁止它的所有内容。 谢谢。 编辑:完整的VCL和varnishlog。 谢谢你的帮助。 可悲的是,它仍然无法正常工作。 这是我的完整的vlc backend srv1 { .host = "srv1"; .port = "80"; .first_byte_timeout = 120s; .probe = { .url = "/"; .interval = 5s; .timeout = 1s; .window = 5; .threshold = 3; } } backend srv2 { .host = "srv2"; .port = […]
我已经尝试了其他职位的无数解决scheme,但似乎没有为我工作,我总是得到一个404错误,当试图让nginx服务我的flask应用程序的静态文件。 在所有这些试图让它运行的尝试之间,我也有一个403 ,但我不能重build它。 这是我目前的设置: 该应用程序位于: ~/development/Python/flask_nginx_gunicorn/ ,应该是一个运行的testing项目,了解nginx等等。 它有以下结构: 所以没有什么比一个名为app.py的文件,它在static文件夹中configuration了几条path和一个index.html 。 我configuration我的nginx如下: /etc/nginx/nginx.conf包含以下内容: user nginx; worker_processes auto; error_log /var/log/nginx/error.log warn; pid /run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr – $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log /var/log/nginx/access.log main; sendfile on; #tcp_nopush on; keepalive_timeout 65; […]
在Amazon Linux EC2实例上使用nginx 1.8.1。 用作反向代理来支持在不同实例上运行Apache https。 一切工作正常,除了这个问题。 我想从nginx提供一个静态页面,以防止我想closuresApache服务器实例。 所以我这样做了: location / { try_files /site-down.html $uri @backend; } 所以在我closures后端服务器之前,我在nginx服务器的根目录下创build了一个符号链接到一个静态html文件,如下所示: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>example.com</title> <style type="text/css"> body { background-image:url('/images/back-soon-background.jpg'); font-family: arial,verdana,sans-serif; text-align: center; } #msg { background-image: url('/images/back-soon-oval.png'); background-repeat: no-repeat; width: 600px; padding-top: 140px; padding-left: 50px; […]
我如何testing一个使用一个或多个静态域来在本地提供图像的网站? 例如 domain.tld,图像是从static.domain.tld中加工而来的 从SVN签出的WAMP网站的本地工作副本:URL将指向static.domain.tld而不是static.domain.local
我通过nginx提供了一个静态网站。 location ~* \.(avi|bin|bmp|dmg|doc|docx|dpkg|exe|flv|gif|htm|html|ico|ics|img|jpeg|jpg|m2a|m2v|mov|mp3|mp4|mpeg|mpg|msi|pdf|pkg|png|ppt|pptx|ps|rar|rss|rtf|swf|tif|tiff|txt|wmv|xhtml|xls|xml|zip)$ { root /var/www/html1; access_log off; expires 1d; } 我的目标是排除像http://connect1.webinar.ru/converter/task/请求。 完整视图就像http://mydomain.tld/converter/task/setComplete/fid/34330/fn/7c2cfed32ec2eef6788e728fa46f7a80.ppt.swf 。 尽pipe这些URL以这种格式结尾,但它们并不是静态的,而是伪造的脚本请求,所以我遇到了一些问题。 做这个的最好方式是什么? 如何添加这个URL的排除或者我可以从这个Nginx位置的列表中排除特定的文件exptension(.ppt.swf,pptx.swf)? 谢谢。
我试图做一些在我看来非常简单的事情,但是我一定是愚蠢的或者错过了一些非常明显的事情,因为我无法弄清楚。 我想访问运行在我的服务器上的多个Web应用程序,每个应用程序都有一个唯一的前缀: http://mywebserver/app1 -> localhost:9001 http://mywebserver/app2 -> localhost:9002 … 根据我的理解,我需要将Nginxconfiguration为反向代理,所以我这样做了: server { listen 80; server_name mywebserver; location /app1{ proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_pass http://127.0.0.1:9001/; } … } 这个configuration允许我通过http://mywebserver/app1访问应用程序的主页,但是没有加载静态内容。 当我打开我的浏览器的控制台时,我可以看到它试图从http://mywebserver/static/custom/index.js获取资源,而不是像http://mywebserver/app1/static/custom/index.js 。 我试图在位置块中添加一个root指令来提供静态,但是由于静态内容请求是在/而不是在/app1上进行的,所以它不被考虑。 如何解决这个问题? 是否有什么明显的我失踪或我完全误解了反向代理的概念? 谢谢。
我已经看到了几个这样的例子: Resource interpreted as Stylesheet but transferred with MIME type text/html: "http://localhost:3001/assets/css/bootstrap.min.css" 。 但是,我一直不明白是什么原因造成的。 我简单的PHP项目中的CSS文件没有被服务。 状态代码是200 ,文件确实加载,其内容可以从开发者控制台查看。 我也检查了/etc/nginx/mime.types文件,它有一个text/css的条目。 最后,这是我的网站configuration: server { listen 3001 default_server; listen [::]:3001 default_server; server_name _; location / { root /media/common/code/projects/newdf; try_files $uri $uri/ =404; include fastcgi_params; fastcgi_index index.php; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/run/php/php7.0-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name; } } 即使在代码中,HTML标签也将其types指定为text/css : <link rel="stylesheet" […]
http://example.com :我的网站 http://example.net :代理后端 我正在尝试将nginx服务器块设置为静态内容服务器和反向代理。 Nginx应该首先检查静态文件,然后在没有文件存在的情况下redirect到代理应用程序。 它是这样configuration的: location @backend { proxy_pass http://example.net; } location / { try_files $uri $uri/ @backend; } 但是,使用这种访问http://example.com的configuration会返回一个403 Forbidden :似乎nginx试图提供一个静态文件夹,没有find一个index.html并且没有代理example.net失败了。 然后我必须明确地添加一个路由为/ location = / { proxy_pass http://example.net; } 这样http://example.com/被正确代理到http://example.net 。 但是这样的configuration感觉很奇怪:还有更好的代理方式吗?