我有一个位于mysite.com/blog的WordPress网站,其文件位于/var/www/mysite/wordpress 。 为什么当我访问mysite.com/blog/test ,如果我从try_files删除了$args ,那么我的嵌套位置块是否会被try_files ? server { server_name mysite.com; location /blog { alias /var/www/mysite/wordpress; try_files $uri $uri/ /blog/index.php$args; location ~ \.php { # This is only reached if I remove $args from try_files return 401; # For testing purposes } } } 以下是日志中的相关错误: "/usr/share/nginx/html/index.php" failed (2: No such file or directory)
操作系统:CentOS 7 nginx:1.6.2 httpd:apache 2.4.6 cms:Drupal 7 在我的服务器被盗用后,我从服务器中删除了所有,重新安装了操作系统和软件,并从备份中恢复数据。 现在我configuration所有的服务在最大的安全风格。 在详细研究访问日志之后 – 我决定拒绝任何除了index.php之外的任何php文件请求,这是为了提高安全性而在站点文档根目录中。 Nginx的访问日志内容很多logging如: azenv2.php az.php 和 /*/wp-login.php /administrator/index.php /MyAdmin/index.php 第一类 – 后门(其中一个黑客攻击我的网站,有人从我的服务器发送大量的垃圾邮件)。 其次 – 有人想findstream行的CMS和实用程序,并尝试一些login@密码,如admin @ 123456 我的理由阻止这两个类别的nginx通过拒绝请求到PHP文件是: 即使有人会上传php-shell ,也不可能使用它 。 所有这些请求都是“不好”的一个priory – 并通过nginx拒绝它们将保护drupal(httpd + php + mysql)的工作和耗电。 我目前的configuration为一个虚拟主机: server { listen <server-ip>; server_name <site-name>; location ~* /sites/default/files/styles/ { try_files $uri @imagestyles; } location @imagestyles […]
介绍 目前大约有100名木偶代理人连接到木偶大师。 有时需要一段时间才能对代理商提供的木偶大师进行修改。 一些信息已经被发现Passenger与Web服务器相结合,例如Apache2或Nginx可以加速这个过程。 首先,根据本文档 ,强烈build议在生产环境中使用此类function。 目标 其目的是安装Nginx,并使用passenger-install-nginx-module在CentOS7上实现Phusion Passenger支持,以加速识别由Puppet-agent在Puppetmaster上执行的更改。 尝试 尝试1 sudo /usr/local/share/gems/gems/passenger-4.0.56/bin/passenger-install-nginx-module –auto –auto-download被执行,并遵循安装步骤。 尝试2 由于在尝试1期间未安装Nginx服务,因此使用yum -y install nginx进行yum -y install nginx 。 尝试3 谷歌search: "[emerg] unknown directive passenger_enabled" 表示,nginx编译没有Phusion乘客的支持 。 在这种情况下,这应该是错误的,因为passenger-install-nginx-module已经运行,并且尝试1期间的安装输出表示应该已经安装了Nginx。 尝试4 /etc/nginx/nginx.conf passenger_root /usr/local/share/gems/gems/passenger-4.0.56; passenger_ruby /usr/bin/ruby; /etc/nginx/conf.d/puppet.conf passenger_enabled on; 尝试5 要testing是否使用其他Web服务器来执行此问题,请执行sudo /usr/local/share/gems/gems/passenger-4.0.56/bin/passenger-install-apache2-module 。 预期结果 执行passenger-install-nginx-module并完成安装步骤安装Nginx。 可以启动Nginx服务,并包含Phusion-Passenger支持。 检查端口8140是否处于LISTEN状态应该是Nginx启动Puppetmaster的结果。 目前的结果 执行passenger-install-nginx-module并完成安装步骤不会安装Nginx,而输出表明相反。 Nginx with Passenger […]
我最近得到了一个带有nginx的VPS,并将我的WordPress实例移走了。 经过一番浏览,我得到了固定链接工作。 博客位于blog文件夹内。 我想请求example.comredirect到example.com/blog 。 但是,对example.com/doc/…请求不应该redirect到example.com/blog/doc/… 我寻找其他问题/答案,但他们都导致了无限的redirect循环。 这是目前的configuration: server { listen 80; # SSL configuration # # listen 443 ssl default_server; # listen [::]:443 ssl default_server; # # Self signed certs generated by the ssl-cert package # Don't use them in a production server! # # include snippets/snakeoil.conf; root /usr/share/nginx/html; # Add index.php to the […]
我们有一个Nginx实例作为两个域的反向代理,每个域都托pipe在自己的框中。 或者,我们习惯了。 昨天我几乎没有完成用Pacman更新Nginx盒子,显然UPC失败了,整个系统失去了力量。 当UPC被换出时,系统重新启动,除了Nginx之外,所有的工作都很完美。 在尝试configuration文件的各种排列之后,好像它失去了联系其他服务器的能力,但是我不能确定地确认这一点,因为所有的日志都是worker process nnn exited on signal 11 (core dumped) ,我已经添加了行,告诉它存储转储,没有实际上正在生产。 它能够为本地存储的文件提供服务,而且我可以从命令行中curl其他服务器,但是当我尝试使用proxy_pass条目访问任何域时,它会popup一个空的响应。 安装现在是版本1.6.3,但我相信也是在更新之前。 编辑: nginx -V输出nginx -V : nginx version: nginx/1.6.3 TLS SNI support enabled configure arguments: –prefix=/etc/nginx –conf-path=/etc/nginx/nginx.conf –sbin-path=/usr/bin/nginx –pid-path=/run/nginx.pid –lock-path=/run/lock/nginx.lock –user=http –group=http –http-log-path=/var/log/nginx/access.log –error-log-path=stderr –http-client-body-temp-path=/var/lib/nginx/client-body –http-proxy-temp-path=/var/lib/nginx/proxy –http-fastcgi-temp-path=/var/lib/nginx/fastcgi –http-scgi-temp-path=/var/lib/nginx/scgi –http-uwsgi-temp-path=/var/lib/nginx/uwsgi –with-imap –with-imap_ssl_module –with-ipv6 –with-pcre-jit –with-file-aio –with-http_dav_module –with-http_gunzip_module –with-http_gzip_static_module –with-http_realip_module –with-http_spdy_module –with-http_ssl_module […]
我有两个IP在一个服务器下运行多个网站。 我如何configurationnginx只听一个IP? 例如: IP:192.168.10.10与nginx(多域) IP:192.168.10.11 – 等等 这里的主要目的是将前台办公应用程序从后台办公工具中分离出来。 我不知道如何限制nginx只能使用一个IP地址,就像我可以使用SSH服务器。
我正在从Apache迁移到nginx,并使用http://winginx.com/en/htaccess迁移重写规则。 我试图理解翻译的意思,但我无法find任何文件。 这是一个例子: if (-e $request_filename){ rewrite ^(.*)$ /index.php break; } 我相信 -f检查一个文件是否存在, -d检查一个目录是否存在,但是-e怎么办? 我在哪里可以find这些文件? 谢谢!
我有一个从我的networking服务器,其中有一个ELB,然后在nginx层前的清漆层login问题。 为X-Forwarded-For正确设置清漆,通过logging正确的“client.ip”正常login。 然而,nginx日志正在通过请求中的整个IP列表。 默认的Grok行为似乎将客户端IP设置为列表中的最后一个。 elb和varnish服务器,这混淆了我的client.ip字段的nginx日志。 正确的客户IP应该是列表中的第一个(或者至less是前几个)。 inheritance人一个例子: 172.31.7.219 – – [28/Sep/2015:12:39:56 +1000] "GET /api/filter/14928/content?api_key=apikey&site=website HTTP/1.1" 403 101 "-" "-" "my.website.com" "1.144.97.102, 1.144.97.102, 1.144.97.102, 127.0.0.1, 172.31.26.59" 问题是我没有能够调整grok来处理这样的结果,heroku grokdebugging器似乎并没有为这个查询工作,我的grok – 但他们正在logstash即工作。 不标记grok失败。 我试图debugging的具体部分,但我还没有find一种方法来做我所需要的IP / IPORHOST,其中有一个逗号分隔的IP地址列表。 我需要能够指定应该使用哪个IP。 即。 列表中的第一个应该是client.ip而不是最后一个。 我的nginx grok是: NGINXACCESS %{IP:clientip} %{NGUSER:ident} %{NGUSER:auth} \[%{HTTPDATE:timestamp}\] "%{WORD:verb} %{DATA:request} HTTP/%{NUMBER:httpversion}" %{NUMBER:response} (?:%{NUMBER:bytes}|-) (?:"(?:%{URI:referrer}|-)"|%{QS:referrer})(?:;|) %{QS:agent} grok的任何想法,以涵盖该日志?
我有以下的Nginxconfiguration: server { listen 80; server_name mercury; access_log /var/log/nginx/mercury.access.log; error_log /var/log/nginx/mercury.error.log; location /static { add_header Cache-Control: max-age=31536000; } location / { root /opt/the-jam/www/dist/; try_files $uri /index.html; add_header Cache-Control: max-age=60; } } 我有目录结构: § tree /opt/the-jam/www/dist /opt/the-jam/www/dist ├── index.html └── static ├── 3522b60dabd4468d03f8.css └── 3522b60dabd4468d03f8.js 而我得到的错误: 2015/10/20 14:25:26 [error] 4529#0: *95 rewrite or internal redirection cycle […]
我有一些Nginx的服务器共享他们的configuration,因为他们在一个负载平衡器池。 所以我有一个独特的configuration,所有的服务器和所有的服务器正在侦听*:80和*:443地址。 但是,这对我不支持SNI的客户端(如Windows XP)上的SSL证书造成了一些问题。 为了解决这个问题,我应该为每个SSL网站指定一个不同的IP地址,但是当然这不同于池中的每个服务器。 你有一些build议吗? 我可以指定多个IP在同一台服务器上,而不会导致错误的情况下Nginx无法绑定其中之一? 非常感谢你!