Articles of Web服务

确定是否有人使用Nginx,Apache或Lighttpd

我试图确定是否有人在PHP中运行Nginx,Apache,Lighttpd或其他networking服务器。 我用预定义的$ _SERVERvariables试过,但我不确定是否以及如何工作,因为我只能在Apache 2.4上进行testing。 有没有人有一个想法,我怎么能确定什么Web服务器有人使用?

在URL中有两个用户@的请求会导致Google AdSense发出“政策违规通知”

我最近收到了一封来自Google的电子邮件,表示他们将要禁止我的AdSense帐户,因为我使用自己的Google AdSense代码请求向他们发送了个人身份信息。 它说约有1%的来自我网站的请求有一个推荐人: some_user@my_website.com/some/subpage 他们认为some_user@my_website.com是PII(即使它可以完全由abcd1234@my_website.com组成)。 更多信息,请访问: https : //support.google.com/adsense/answer/6163366?hl = zh_CN 。 我从来没有链接到这种types的url(我使用的唯一forms是my_website.com/some/subpage),但我猜我的用户有时会手动input(因为我的网站提供的产品是电子邮件服务,这似乎是合理的通过一些逻辑)。 我认为some_user@my_website.com/some/subpage的URI是合法的,因为http basic auth允许像这样指定用户。 当我手动input到Firefox时,some_user @从地址栏中消失,但是在Firebug的Net面板中,我可以看到所有文件确实是从some_user@my_website.com/some/subpage请求的,Google也是这么看的。 我虽然认为这是一个暴力解决scheme,甚至像这样: if uri contains '@': redirect to my_website.com 会做。 我正在使用NGINX / UWSGI / Python粘贴+ JS。 我试图在服务器端和JS中实现上述条件,但是我的URI总是说my_website.com/some/subpage,即使我手动将some_user@my_website.com/some/subpage放在浏览器地址栏中。 我也尝试在NGINX中configurationbasic_auth,禁止提供任何用户,但不起作用。 我如何摆脱这些要求? 如何在JS中获得FULL URI(with some_user @)? 我试过document.URI和window.location.href但他们不包含用户部分…

创build文件的文件所有权

我有2个PHP应用程序运行在我的服务器上,这些应用程序中的文件由2个用户(user1和user2) 文件的所有权看起来像这样user1:www-data和user2:www-data。 我将www-data分配为组,这样当权限设置为775时,我的php应用程序可以轻松地写入文件。所以我将所有文件权限设置为755和775(对于必须写入的文件)。 一切都很好,唯一的问题是,当我的PHP应用程序创build一个文件,它将所有权设置为www-data www-data这不是我想要的。 我想PHP设置权限,以iether user1:www-data或user2:www-数据取决于它是哪个应用程序。 我用php-fpm使用Nginx 1.6.3和php 5.5.24。

mp4文件stream通过nginx的“X加速redirect”不工作在Android上的PHP

问题很简单。 我试图用php通过nginx的“X-Accel-Redirect”头来stream文件,因为让nginx处理所有事情比使用phpstream处理更便宜。 我在PC和Android上使用Chrome进行testing。 假设我在公共根目录下有一个文件: example.com/video.mp4这在PC和Android上都可以正常工作。 但是,如果我尝试使用头文件“X-Accel-Redirect”(假设它是私有的,并且不能在公共目录中)stream式传输文件,请使用以下代码: header('Content-Type: video/mp4'); header('X-Accel-Redirect: /path/to/protected/directory/video.mp4'); 它适用于个人电脑,但不适用于Android。 请求头似乎是相同的,我真的不知道要search什么。 我也检查了两个设备上的标题,他们似乎是相同的。

如何连接nginx到我的java模块

我真的是这个主题的初学者,我需要一些有用的文章和你的指导。 我想要构buildRESTFul API Web服务。 作为一个http服务器selectnginx 。 但我不知道(无法find任何文章)任何关于如何将我的查询redirect到我的java模块,它处理请求,并返回JSON到nginx 。 如果我对后端types的想法不正确,请帮我弄清楚这个…

警告:服务器达到pm.max_children设置(5),考虑提高它

我得到这个错误: 警告:[池www]服务器达到pm.max_children设置(5),考虑提高它 当试图访问我的PHP错误日志forums.domain.com我的XenForo安装。 它每次都会发生,而且我认为这会导致PHP崩溃,从而阻止同一个盒子上的其他站点工作。 我使用nginx和这两个站点的两个服务器块。 一个在新的。 和下的论坛.. 谢谢。

如何从您的web框架dynamic加载HTTP路由到NGINX?

我一直在关注Web框架基准testing ,并注意到许多Web框架遭受同样的性能损失,即在框架内部进行HTTP路由,而不是利用NGINX的高性能HTTP服务器进行路由。 例如,在Flask python框架中,你可能有: @app.route('/add', methods=['POST']) def add_entry(): … 这使得你的应用程序比直接在NGINX configuration文件中执行更容易,如下所示: server { listen 80; server_name example.com; location /add { … // defer to Flask (python) app } 问题 :如何通过NGINX内置HTTP路由(使用NGINX自己的configuration文件定义路由)来获得性能,同时通过在您的Web框架中定义HTTP路由来保持应用程序开发的轻松性? 有没有一种方法可以从INSERT_NAME_OF_YOUR_WEBFRAMEWORK HTTP路由dynamic加载到NGINX中?

如何使用位置正则expression式通过nginxredirect/处理来自search引擎的请求

我已经开发了一个基于ajax的web应用程序,使用hash bang url。 我试图将search引擎的请求redirect到另一台生成HTML快照并发送响应的服务器。 我试图在nginx中使用位置指令来实现这一点,如下所述: location ~ ^(/?_escaped_fragment_=).*$ { 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; client_max_body_size 10m; client_body_buffer_size 128k; proxy_connect_timeout 60s; proxy_send_timeout 90s; proxy_read_timeout 90s; proxy_buffering off; proxy_temp_file_write_size 64k; proxy_pass http://x1.x2.x3.x4:8080; proxy_redirect off; } 但我无法得到这个工作。 有人可以纠正我正在使用的正则expression式(或)提供一个替代解决scheme来实现这一点。 提前致谢。

用nginx代理相关的url

我的问题类似于绝对重写规则的Nginx相对URL? – 但增加了一个转折。 我有nginx作为代理服务器,代理多个应用程序,类似于(简化)configuration: server { listen 80; server_name example.com; location /app1 { proxy_pass http://app1.com; } location /app2 { proxy_pass http://app2.com; } } 这工作正常,但在另一个问题中,这些应用程序( app1和app2 )使用相对URL,例如/css/foo.css或/js/bar.js 。 另外,要求所有应用程序更改为类似/app1/css/foo.css内容也是一个大问题。 nginx是否可以智能地找出哪个应用程序应该处理请求? FTR,用户将会像这样访问这些应用程序: http://example.com/app1/fooaction或http://example.com/app2/baraction 。 如果重要的话,所有的应用程序都是基于Java / Tomcat的应用程序。 TIA!

什么是REST风格的Web服务最具扩展性和高性能的Amazon Web服务(AWS)configuration?

我正在构build一个asynchronous的RESTful Web服务,我试图找出最具扩展性和高性能的解决scheme。 最初,我计划使用FriendFeedconfiguration,使用一台运行nginx的机器来承载静态内容,充当负载平衡器,并且充当运行Tornado web服务器的四台机器的反向代理以用于dynamic内容。 build议在四核机器上运行nginx,在单核机器上运行每个Tornado服务器。 amazon web services(AWS)似乎是最经济和灵活的托pipe服务提供商,所以这里是我的问题: 在AWS上,我只能findc1.medium(双核CPU和1.7 GB内存)实例types。 那么这是否意味着我应该在c1.medium上运行一个nginx实例,在m1.small(单核CPU和1.7 GB内存)上运行两个Tornado服务器? 如果我需要扩展,我将如何链接这三个实例到另外三个实例在相同的configuration? )。在S3存储桶中托pipe静态内容更有意义。 nginx仍然会托pipe这些文件? 2b)如果不是,性能会受到没有nginx托pipe它们的影响吗? 2c。)如果nginx不会托pipe静态内容,那么它实际上只是作为一个负载平衡器。 这里有一篇比较不同云configuration性能的文章,并对负载平衡器进行了说明:“HaProxy和Nginx都在第7层转发stream量,所以它们由于SSL终止和SSL重新协商而具有较低的可扩展性,相比之下,Rock forwards第4层stream量没有SSL处理开销“。 你是否build议将nginx作为负载平衡器replace为在第4层操作的负载均衡器,还是将Amazon的Elastic Load Balancer的性能提高到足够高?