我有一个叫nginx服务器configuration的“legacy”VHost。 它曾经是一个完整的网站,但它已经退役,所有的内容被删除。 server块现在看起来像这样: server { listen 80; server_name defunct-site.com; return 410; } 还有一些DNSlogging和应用程序仍在我的控制之下,仍指向此服务器,尽pipe我向第三方请求更新其configuration并停止尝试访问该站点,但它仍然获得相对显着的stream量。 不用说,我不能改变我的IP地址,没有显着的努力。 有没有更好的方式告诉这些客户他们的stream量不再受欢迎? 来源IP遍布各地,所以做一个成功的iptables块似乎不太可能。 而且我需要读取足够的HTTP请求才能到达Host:头部,以确保我不会破坏用于合法VHost的stream量。
我想在运行Apache httpd和Nginx的Linuxnetworking服务器上使用OCSP stapling SSL证书。 但是Nginx和Apache都是默认情况下直接访问OCSP应答器。 但是,我的web服务器位于使用直接服务器返回/直接路由的负载均衡器后面,所以我的主机configuration了公有IP地址,并且接收和回复这些公共IP上的传入stream量,但是我的服务器不能使用这些公有IP ,始发连接。 服务器运行在私有(非公共IP空间)networking上,不能通过NAT访问公共Internet,而是通过HTTP代理访问。 从安全angular度来看,这非常好。 我不想为了OCSP装订而在networking上引入NAT,而且我完全可以使用HTTP代理来处理OCSP请求(无论谁是HTTP)。 对我来说,“最好的”解决scheme就是在哪里configurationApache / Nginx来使用HTTP代理来访问OCSP应答器 – 但据我所知,没有这个select。 我遇到的最接近的select是 使用Apache的SSLStaplingForceURL(它只是简单地覆盖x509 AIA端点)与一个反向代理,谁反过来确实有公共互联网接入。 反向代理的工作是用实际的OCSP响应者重写主机头和端口,并连接到那个。 使用本地的iptables规则来NAT本地发起的stream量,针对OCSP响应者到我的本地HTTP代理。 为了与一个OCSP响应者可能改变的IP地址作斗争,我还会在/ etc / hosts中添加一个静态(假的)入口。 所有这些选项对我来说都不是很好,并且有很多缺点(netfilter-NAT基于IP;每当ocsp响应者的目标IP发生变化,我将不得不调整我的规则) – 我是否会再想念合理的select或Apache或Nginx的“正确”configuration选项?
在我们的Magento商店中,当我们尝试去pipe理部分中的产品页面上传图片时,我们看到我们已经在前端存在的图片丢失了,没有选项可以照常添加图片。 我们正在Nginx和HHVM上运行该网站。 我检查了/var/log/nginx/error.log ,我看到这个错误: 2015/07/16 11:16:25 [error] 21444#0: *14929 access forbidden by rule, client: 127.0.0.1, server: www.store.com, request: "POST /app/etc/local.xml HTTP/1.1", host: "www.store.com" HHVM错误日志中没有任何内容,不确定在这里做什么。
运行tracd并直接访问它的网站工作正常。 但是,我希望它位于nginx后面,可访问example.com/trac/访问。 为此,我对nginxconfiguration进行了以下更改: location /trac/ { proxy_pass http://127.0.0.1:3456/; # tracd listens there proxy_redirect default; proxy_set_header Host $host; } 访问example.com/trac/现在向我展示了一个破损的Trac主页,其中没有任何CSS,JS或图像文件被加载,因为所有其他请求都被发送到example.com/css而不是example.com/trac/css 。 我怎样才能解决这个问题? 我如何让Trac意识到这是在example.com/trac/ ,而不是example.com/ ? 谢谢! 编辑:我已经设置了以下trac.ini设置,并重新启动tracd ,但问题依然存在: base_url = https://example.com/trac/ use_base_url_for_redirect = true
我想redirect用户,如果他们直接访问GIF图像。 http://www.example.com/uploads/file.gif 这应该被redirect到主页或其他页面。 要么 如果图像是直接访问,我想要显示一个HTML表单或button去HTML表单。 location ~* (\.gif)$ { rewrite ^/* /imagedisplay/ last; } 我试图使用redirect,但没有帮助。 请build议,以防止图像热链接。
假设我感兴趣的查询参数是arg1=val1 。 我希望nginx只有当请求的uri是/并且查询参数arg1不存在时才添加查询参数。 预期的行为如下图所示: 要求: / 预计将传递给后端: /?arg1=val1 要求: /?arg2=val2 预计将传递给后端: /?arg1=val1&arg2=val2 要求: /path1 预计将传递给后端(如果所请求的URI不是,则不要添加参数): /path1 要求: /?arg1=valx&arg2=val2 预计将传递给后端(如果参数已经存在,请不要更改其值): /?arg1=valx&arg2=val2 我在nginx.conf试过的东西如下: location / { if ($args !~ ^(.*)(arg1=)(.*)$) { rewrite ^(/)$ /?arg1=val1 last; } …… } 而且它不像预期的那样工作。 我应该如何configurationnginx来实现预期的行为?
为了培训的目的,我想停用特定目录的gzip。 下面的configuration没有办法。 我怎样才能停用它? location /webperf/disabledgzip/ { gzip_disable "*"; }
我正在尝试从运行Apache的开发计算机将PHP Laravel应用程序移动到运行nginx的服务器。 我已经configuration了数据库连接,而我的Laravel应用程序(主要是)用期望的页面进行响应。 但是,服务器没有快速响应并返回一个随机的时间 504 Gateway Time-out 一段时间后。 一个 service php5-fpm restart 或者稍后再尝试修复这个暂时的。 我在PHP 5.6(通过FPM),HHVM和MySQL使用nginx。 我不想增加最大的执行时间,因为脚本不应该花这么长的时间。 我怀疑这是在新的环境中的PHP脚本或configuration问题的问题。 这不应该是nginx本身的问题,因为静态资源发送正确。 我如何解决和解决这个问题?
我们有2个Web服务器,我们要负载平衡。 每个服务器都有一个主要的networking应用程序,受到公众的打击。 每个服务器还有一些由主应用程序在内部使用的相关微服务。 我们希望负载平衡器在检测到服务器的任何一个微服务被closures的情况下排除服务器。 http://server1/mainApp http://server1/microservice1 http://server1/microservice2 http://server1/mainApp http://server2/microservice1 http://server2/microservice2 所以如果http://server2/microservice2出现故障,我们希望server1为所有stream量提供服务。 或者,如果http://server1/microservice1宕机,我们希望server2到服务器通信。 HAproxy中可以实现这种逻辑吗? 还是有另一种技术可以为我们做到这一点? 谢谢!
假设$ request_uri的值是/ a / b / c。 $ uri的当前值是/index.php。 这是可能改变我的$ uri为/ b / c。 我试过这个,似乎没有工作, if ($request_uri ~* /a/(.*)/(.*)){ set $uri /$1/$2; } 但是这给了重复的“uri”variables的错误。 我也试过了, if ($request_uri ~* /a/(.*)/(.*)){ rewrite ^ /$1/$2 break; } 但$variables似乎不存储值。 有出路吗? 谢谢。