Articles of nginx

有没有办法启用日志文件spawn-fcgi和fcgiwrap?

我正在设置Bugzilla。 我得到了一个403错误。 nginx错误日志文件中没有错误消息。 我很确定403消息是从上游发送的。 我说,因为我可以在nginx错误日志中创build一个403错误,通过搞乱index.cgi文件的安全性。 现在,我在日志中什么都没有。 我怀疑是spawn-fcgi或fcgiwrap的问题是某种访问被拒绝的问题。 有没有办法将设置调整为spawn-fcgi或fcgiwrap,以便它生成日志文件条目? 这是我如何configuration服务。 # more /etc/sysconfig/spawn-fcgi FCGI_SOCKET=/var/run/fcgiwrap.sock FCGI_PROGRAM=/usr/local/sbin/fcgiwrap FCGI_USER=nginx FCGI_GROUP=nginx FCGI_EXTRA_OPTIONS="-M 0700" OPTIONS="-u $FCGI_USER -g $FCGI_GROUP -s $FCGI_SOCKET -S $FCGI_EXTRA_OPTIONS – F 1 -P /var/run/spawn-fcgi.pid — $FCGI_PROGRAM"

在同一台服务器上使用Apache和Nginx – 为什么?

在许多生产环境中,我经常看到人们同时使用Nginx和Apache – 通常configuration为监听端口80的Nginx,并将stream量“传递”给监听端口8080的Apache。 我已经尝试过谷歌,但是我还没有弄清楚,与仅在端口80上运行Apache并直接提供所有stream量相比,这种架构有什么好处? 有人可以帮忙吗?

nginxconfiguration将api调用映射到特定的php模块

我正在尝试为通过API访问PHP代码的单页应用程序构build一个nginxconfiguration。 我想要做的是将ajax调用的forms/api/xxx映射到project_directory/php/xxx.php一个文件 所以我有一个像这样的位置块: location ~* /api/(\w+) { root /path/to/project_directory; try_files /php/$1.php =404; … call fastcgi gateway } 我需要设置$ fastcgi_script_name,以便设置所有正确的环境variables。 它是否在尝试文件匹配时执行此操作?

如何为两个相同的Icecast主服务器设置自动故障转移反向代理?

我试图做一个简单的事情,在 Icecast主stream服务器的前端高可用性(即我不是在谈论Icecast中继这里) 的反向代理加倍 。 那么,三个虚拟机: 2个完全相同的独立Icecast虚拟机(每个虚拟机都有一个本地MPD音乐源和一个本地nginx前端,用于正确的头文件 ) 一个负载平衡器/反向代理nginx虚拟机。 我的问题是 – 如何configuration反向代理进行自动故障转移,以防Icecast虚拟机中的一个出现stream中断,并且stream客户端不中断? 插图: /— [ local nginx A <-> icecast master A <- mpd A] -> [nginx reverse proxy] —< \— [ local nginx B <-> icecast master B <- mpd B] 我第一次尝试这个简单的教程来设置一个反向代理nginx,之后我可以通过打开nginx虚拟机来听stream。 upstream backend { ip_hash; # try to send the same clients to the […]

使用nginx和startssl证书设置安全连接

我已经在startssl.com上注册,因此为我的域名修复了4个文件: ssl.key – 私钥文件 ssl.crt – 证书文件 ca.pem – 根CA sub.class1.server.ca.pem – 1级中间服务器CA证书 删除密码我做了: openssl rsa -in ssl.key -out ssl.key.nopwd 然后,我build立了我的nginxconfiguration: server { listen 443 ssl; ssl on; ssl_certificate /etc/nginx/ssl/ssl.crt; ssl_certificate_key /etc/nginx/ssl/ssl.key.nopwd; keepalive_timeout 70; fastcgi_param SSL_VERIFIED $ssl_client_verify; fastcgi_param SSL_CLIENT_SERIAL $ssl_client_serial; fastcgi_param SSL_CLIENT_CERT $ssl_client_cert; fastcgi_param SSL_DN $ssl_client_s_dn; server_name ***; root /var/www/***; } 在nginx重新启动后,我可以通过https成功进入我的网站。 但是现在我想保护我的网站,并且只能通过安装在客户端浏览器中的证书来访问它。 据我所知,我必须安装在nginxconfiguration: ssl_client_certificate […]

问:奇怪的networkingstream量 – 这是一个攻击吗?

我最近注意到我的nginx访问日志中有一些奇怪的stream量。 我不确定这些表示是攻击,错误还是别的。 我已经开始发送这些HTTP 444,所以这些日志将表明。 1)我注意到stream量的增加,并在检查日志,我看到请求后这样的要求: 121.32.149.215 – – [28 / Nov / 2015:06:27:00 +0000]“GET / HTTP / 1.1”444 0 "http://vp.f8bet.com/wf360.html" “Mozilla / 5.0(Windows NT 6.1)AppleWebKit / 537.36(KHTML,如Gecko)Chrome / 31.0.1650.63 Safari / 537.36“” – “ 他们来自不同的IP和不同的用户代理。 其中很多。 奇怪的部分是引用页面有我的TLD作为脚本标记的src。 我的网站没有从该URL返回任何JS,所以它只是点击该网站的索引。 如果我不那么好,我可以开始返回一些平均的JS。 我认为这可能只是引用垃圾邮件,但我不确定。 2)我也得到了很多这样的要求: 190.137.153.244 – – [28 / Nov / 2015:06:07:16 +0000]“GET / HTTP / 1.1”302 97“ […]

使用Mono和Nginx部署ASP.NET Web API

我一直试图部署我的Web API很长一段时间,现在没有成功。 无论我如何在自己的configuration中(通过Googlesearch的推荐)抛出东西,我仍然遇到了同样令人沮丧的错误: System.Web.HttpException at System.Web.StaticFileHandler.ProcessRequest (System.Web.HttpContext context) [0x00000] in <filename unknown>:0 at System.Web.DefaultHttpHandler.BeginProcessRequest (System.Web.HttpContext context, System.AsyncCallback callback, System.Object state) [0x00000] in <filename unknown>:0 at System.Web.HttpApplication+<Pipeline>c__Iterator1.MoveNext () [0x00000] in <filename unknown>:0 at System.Web.HttpApplication.Tick () [0x00000] in <filename unknown>:0 这在我的浏览器中显示为错误404。 说明: HTTP 404.您正在查找的资源(或其某个依赖项)可能已被删除,名称已更改或暂时不可用。 请检查以下URL并确保拼写正确。 详细信息:请求的URL:/ MyAPI / Home / Index 我应该补充一点,在使用XSP4进行MonoDevelopdebugging时它运行良好,这就是为什么我认为这是configuration问题而不是代码问题。 我的nginxconfiguration: server { listen 80; […]

Nginx的vhost下载文件

我已经设置nginx和php 本教程build议。 我创build了第二个虚拟主机,如下所示: server { listen 80; root /projects/mydomain/; index index.php index.html index.htm; server_name mydomain.gr; location ~ \.php$ { try_files $uri =404; fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } PHP和Nginx的工作正常,如果我访问mydomain.gr/index.php但当我访问mydomain.gr它将下载一个文件与index.php的内容和名称是下载。 我究竟做错了什么?

configurationnginx(反向代理)和gunicorn之后,envvariables停止被检测(在Ubuntu上的Django应用程序)

在一个Ubuntu的机器上托pipe我的Django应用程序(使用postgres后端),当我使用命令gunicorn –bind 0.0.0.0:8080 –env DJANGO_SETTINGS_MODULE=myproject.settings myproject.wsgi:application启动gunicorn作为我唯一的web服务器时,我的envvariables被完全检测到gunicorn –bind 0.0.0.0:8080 –env DJANGO_SETTINGS_MODULE=myproject.settings myproject.wsgi:application 接下来,我安装了nginx并将其configuration为与gunicorn(使用数字海洋指南在这里 )的反向代理。 没有主pipe。 这个新的Web服务器configuration正确启动,除了现在它根本不检测envvariables。 想象一下,我的envvariables是awake = 1和secret = abc123 。 我已经试过把export awake=1和export secret=abc123放在/etc/environment (全局设置)的gunicorn.conf /etc/default/nginx中。 我也尝试将它们添加到nginx.conf作为env awake=1; env secret=abc123; 。 没有工作。 现在看来,这个nginx 除了TZvariables外,删除从其父进程inheritance的所有环境variables 资料来源: http : //nginx.org/en/docs/ngx_core_module.html#env难道这就是为什么我没有试图接近工作? 尽pipe如此, echo $awake在命令行上产生1,这告诉我可能已经设置了variables,但被绕过或忽略。 这变得非常令人沮丧。 任何人都可以帮我找出这一个呢? 提前致谢。 wsgi.py: import os os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myproject.settings") from django.core.wsgi import get_wsgi_application from dj_static […]

不同的nginx服务器共享日志是否安全?

我在nginx.conf有两个相同服务器名称的server块。 一个用于http,另一个用于https。 由于它们基本上是相同的东西,我想logging相同的文件。 这样写是否安全? server { listen 80; access_log access.log; error_log error.log; } server { listen 443 ssl; access_log access.log; error_log error.log; } 我担心的是,来自两台服务器的同时写入可能会导致出现乱码,交错的日志。 这可以发生吗? 编辑。 从不同的来源logging本质上是交错的。 我的意思是在不同的文本交错在同一行,或写入失败,或任何其他种类的冲突,使日志无效。