我遇到了一个问题,试图在nginx(和apache)下为php-fpmdynamic地设置open_basedir,当运行php-fpm作为用户“nobody”(出于传统原因)时,其他虚拟主机正在“stream血”。 运用 fastcgi_param PHP_ADMIN_VALUE "open_basedir=/home/mike/htdocs"; 和 fastcgi_param PHP_ADMIN_VALUE "open_basedir=/home/adam/htdocs"; 等适用于每个虚拟主机(PHP 5.3.20) phpinfo显示正确的open_basedir被设置,但最终(相当快)我开始得到错误,其中一个虚拟主机将运行到错误的open_basedir,试图执行一个程序的“迈克”,但有open_basedir“亚当” 。 由于fastcgi_param只是基本上为php-fpm设置环境,我认为正在发生的事情是同一个worker会在处理php文件时改变它的环境。 不知何故服务器,如litespeed也使用fastcgi php进程(无人运行)得到这个权利,正确地工作与open_basedir可以设置外部没有“stream血”之间的虚拟主机。 所以我想知道是否有一个技巧或解决办法,我可以用来保持作为“无人”运行,并保持虚拟主机之间的环境。 我应该注意到我正在使用unix套接字,而不是TCP / IP,但我不认为这是有所作为。
我在我的Nginx(Windows 7的1.2.6)conf文件中有以下设置: location ~ ^/FOO/(.*)$ { proxy_pass http://server_two:8888/FOO/$1; } 在server_two我有IIS7运行使用基本身份validation的WCF服务。 当我访问http://server_two:8888/FOO/Service.svc?wsdl我得到了正确的端点。 当我访问http://myhost/FOO/Service.svc?wsdl我得到一个popup的用户/传递框。 我可以input我的证书,直到奶牛回家,而且什么也没有。 我也尝试了以下内容: location ~ ^/FOO/(.*)$ { proxy_pass http://server_two:8888/FOO/$1; proxy_set_header Host $host; proxy_set_header X-Accel-Expires 0; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } 和其他几个变种,但是我还没有能够让login过程工作。 这对Nginx可能吗? 我错过了什么? 更新: 我忘了提及,IIS设置为执行Windows 401身份validation的HTTP 401挑战
注意:我以前在Zend Server中讨论过一个组件,但是现在是一个独立的模块,并且是开放源代码的 ,并且将与PHP 5.5捆绑在一起,它具有比广泛使用的APC更高的性能/可用性。 现在这里是我的问题,我似乎无法让Zend Optimizer +与我的codeigniter驱动(PHP框架)站点正常工作,我的debuggingconfiguration如下: zend_optimizerplus.enable=1 zend_optimizerplus.memory_consumption=128 zend_optimizerplus.interned_strings_buffer=8 zend_optimizerplus.max_accelerated_files=4000 zend_optimizerplus.revalidate_freq=10 zend_optimizerplus.fast_shutdown=1 zend_optimizerplus.enable_cli=1 zend_optimizerplus.optimization_level=0 zend_optimizerplus.error_log=/var/log/zendop.log 一旦ZO +被启用,我开始看到这样的php-fpm日志(但没有别的,没有segfault错误,在ZO +错误日志中没有条目): [13-Mar-2013 00:58:45] WARNING: [pool www] child 6734 exited with code 1 after 176.326628 seconds from start [13-Mar-2013 00:58:45] NOTICE: [pool www] child 6761 started 基本上PHP的工作进程被停止并重新启动。 所有页面似乎只是部分输出。 我打开php错误显示与error_reporting(E_ALL & ~E_NOTICE); 但仍然没有看到PHP本身的任何错误。 我能在Nginx日志中find的条目是: 2013/03/13 00:22:47 [error] 1761#0: *14 […]
我有几个服务器,我想使用所有相同的服务器块,除了位置和服务器名称(因为他们是不同的网站)。 我该怎么做,所以我不必复制(复制和页面)的服务器块,然后有一个混乱更新他们呢? 例如, server { …. } # <- Main server block server { …. } # <- Same as above but I can "specialize" for different properties. (listen on a different port, different server name, location, etc..)
题: 是否有可能在Windows上使用nginx为ASP.NET / ASP.NET MVC页面使用Microsoft .NET框架 ? 我知道一个人可以用mono-fastcgi做,但是我想知道是否可以单独使用Microsoft Framework,也就是说,没有mono或其任何组件。
我试图在一台VPS上运行多个域(使用简单的静态页面),运行Ubuntu 12.04 LTS,nginx。 所有域的基本nginxconfiguration与这个相似(都在站点可用的目录中分隔): server { listen 80; server_name www.example.com; return 301 $scheme://example.com$request_uri; } server { listen 80; server_name example.com; root /home/username/example.com; index index.html; } 它适用于第一个域,第二个域只适用于我删除第一个服务器块,第三个域它根本不工作。 nginx无法启动。 我不是我做错了什么。
对于我们所有的网站,我们都有一个包含以下内容的包含文件: location / { try_files $uri /index.php?$query_string; } 对于单个站点,我们希望将所有来自mysite.com/的请求redirect到mysite.com/blog,作为临时“修复”。 该块看起来像这样: server { server_name mysite.com; root /var/www/mysite; include conf.d/common.conf.inc; # Redirect blog location / { rewrite / /blog redirect; } } 然而,这个失败,出现以下错误: testingnginxconfiguration:nginx:[emerg] / etc / nginx / sites-enabled / mysite中的重复位置“/”:7 这个问题 我们怎样才能有一个服务器块的location / {}为try_files 和redirect从/到/blog所有请求?
我有一个Magento模块,要求$_SERVER['PHP_AUTH_USER']和$_SERVER['PHP_AUTH_PW']variables。 在其文档中,提出了以下针对apache设置: SetEnvIfNoCase Authorization "Basic ([a-z0-9=]+)" REMOTE_AUTHORIZATION=$ 但是我正在使用nginx 。 我可以在.conf文件中添加什么来支持这些variables?
我目前有一个设置,所有静态文件都由NginX提供,如果没有find静态文件,它将被移动到一个node.js服务器上。 不幸的是,我得到了根请求403错误。 其他一切工作正常。 server { listen *:80; error_page 404 = /404.html; root /web/sites/this.site.tld/static; index home; location / { try_files $uri $uri/ @proxy; } location @proxy { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_X_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; proxy_pass http://thisSiteApp; proxy_redirect off; } } upstream thisSiteApp{ server 127.0.0.1:3000; } 我相当确定问题在于索引指令。 在静态中放置一个“index.html”文件并将该指令更改为“index index.html”的作品。 但是我真正想要做的是让它看起来像索引位置的节点服务器,而仍然服务我的静态文件,而不看节点。 NB。 如果我把代理服务器设置放在/位置节点服务器服务的根就好(没有静态文件,但它服务的一部分罚款)。
我正在使用基本身份validation,用户在标题中发送他们的用户名密码。 这些请求将通过HTTPS进行安全性(因为密码将以纯文本格式)。 如果用户不小心通过HTTP发出请求,在nginx中有没有办法在发送授权头之前closures连接? 我担心,如果我只是将它们redirect到HTTPS,他们的密码仍然会以纯文本的forms发送给第一个请求。