Articles of nginx

uwsgi + nginx + flask:文件下载后上游过早closures

我在烧瓶上创build了一个端点,它从数据库查询(远程数据库)生成一个电子表格,然后在浏览器中下载。 烧瓶不会抛出任何错误。 Uwsgi不抱怨。 但是,当我检查nginx的error.log,我看到很多 2014/12/10 05:06:24 [error] 14084#0:* 239436上游过早closures连接,同时从上游读取响应头,客户端:34.34.34.34,服务器:me.com,请求:“GET /下载/导出.csv HTTP / 1.1“,上游:”uwsgi://0.0.0.0:5002“,主机:”me.com“,引用来源:” https://me.com/download/export.csv “ 我部署uwsgi像 uwsgi –socket 0.0.0.0:5002 –buffer-size=32768 –module server –callab app 我的nginxconfiguration: server { listen 80; merge_slashes off; server_name me.com www.me.cpm; location / { try_files $uri @app; } location @app { include uwsgi_params; uwsgi_pass 0.0.0.0:5002; uwsgi_buffer_size 32k; uwsgi_buffers 8 32k; uwsgi_busy_buffers_size 32k; […]

在WebAuth后面的nginx部分内容206请求

我有一个疑难解答问题,我认为可能是由于WebAuth身份validation时提供.webmvideo。 我有的服务器是nginx 1.6.2。 我可以做200个GET请求就好了。 我也有两个并行configuration – TLS 1.2(打开)和“BasicAuth”TLS 1.2。 通过修改文件夹的.htaccess,我可以在这些configuration之间切换相同的内容。 我在configuration这些HTTP部分时遇到的唯一configuration是WebAuthconfiguration。 我试图使用HTTP Live Headers这样的工具来诊断问题。 据我所知,这些请求根本不是由浏览器。 有没有人碰到类似的东西? 任何人都可以为接下来的步骤或解决任何想法提出任何build议吗?

Nginx安装vestacp时出错

我试图安装vestacp新鲜的专用服务器运行ubuntu14.04与nginx安装,但是我试图删除这个使用… sudo apt-get remove nginx sudo apt-get purge nginx sudo apt-get autoremove 现在,如果我尝试访问IP,我没有看到ngnix的默认页面,但是当我尝试下面的命令来安装vestacp … bash vst-install.sh 我得到以下错误… Following packages are already installed: nginx It is highly recommended to remove them before proceeding. If you want to force installation run this script with -f option: Example: bash vst-install-ubuntu.sh –force 请帮我解决这个问题。 谢谢

Nginx位置重写规则匹配GeoIP标头值

我正在寻找写一个简单的重写规则,我基本上是想说以下 如果请求的URI是text / index.html(或test /),并且GeoIP组织等于“我的GeoIP值”,则server test / index2.html 我试了一些指令,没有什么是真正的工作,因为我所期望的。 我目前的设置是 map $geoip_org $redirectMe { default 0; 'My GeoIP Org Value' 1; } server{ …. location /test { try_files $uri index.html; expires -1; if ( $redirectMe ) { rewrite ^/test/index.html$ /test/test2.html break; } } …. } 我发现它无论是redirect还是redirect,不pipe我的IP组织如何,就像cachingredirect,我认为expires -1会被理清。 我也注意到,无论是否redirect,我都会收到HTTP 304请求。 有没有人有任何指针? 我认为这将是一件简单的事情。 我也试过不使用地图,并把比较放在地点,但这不起作用,使用服务器以外的地图将允许我稍后更容易地更改逻辑。 更新答案是,它实际上是工作,这只是caching不刷新时,我运行一个服务nginx重新加载。 解决的办法是使用服务nginx强制重装(或重启,虽然这是过度杀毒),它会wor

是否有可能在nginx中的几个别名之间共享一个基本的身份validation会话?

标题几乎总结了一下,我们有一个非常简单的虚拟主机设置在nginx的基本身份validation保护,所以它看起来像这样: server { listen portnumber; server_name *.domain.com; location / { root /var/www/mywebsite.com; index index.html index.htm; auth_basic "Restricted"; #For Basic Auth auth_basic_user_file /etc/nginx/.htpasswd; #For Basic Auth } } 当我访问说aaa.domain.com或域名或它的任何子域名时,它会询问身份validation凭证,如果我以前没有在这个(子)域进行身份validation,所以问题是:我可以共享身份validation会话nginx中的同一个虚拟主机的域名,所以如果我成功通过身份validation其中一个我不会被要求inputlogin名和密码在任何其他的会话有效吗? 也许有可能在一些由nginx支持的脚本语言中重新实现基本authentication,那么请给出关于实现的任何build议呢? 谢谢

Nginx会话绑定代理

我一直在试图强化一个网站,以防止涉及会话劫持的攻击。 该网站在Node.js应用程序前面运行Nginx。 作为其中一个对策,目标是configurationNginx将应用程序会话ID绑定到SSL会话。 为此,我使用下面的第三方模块: https : //github.com/wburgers/Session-Binding-Proxy ,它实现了以下文章中描述的概念。 我用模块成功地重build了Nginx,但是我很难让它正常工作(甚至是一致的)。 无论我尝试,代理要么: 1)校验和不匹配: 2014/12/17 21:17:32 [debug] 3113#0: *1 ssl_session_master_key: 25a913d0524eb78d8433fdd5f5cf930a9a948ce09f5bfd8d 2014/12/17 21:17:32 [debug] 3113#0: *1 Session Binding Proxy encryption/decryption key: 80F426773F639A33C3279B55BDE9842D3767844DA026AEFF523C08DA03257A00 2014/12/17 21:17:32 [debug] 3113#0: *1 Session Binding Proxy Handler searching for: connect.sid 2014/12/17 21:17:32 [debug] 3113#0: *1 Session Binding Proxy Handler in string: __insp_wid=1037948077; __insp_nv=true; __insp_ref=d; […]

在Ubuntu VPS上部署node.js应用程序

我创build了一个由node.js应用程序支持的实时android应用程序。 我使用express,socket.io,mongodb和ubuntu作为我的后端。 但我的问题是我怎么可能可以运行它在生产或通过networking没有我运行此node server.js在远程命令行访问我的服务器。 因为当我停止它,我的应用程序将变得不可用。 此外,我想直接访问它到我的域名或IP,而无需添加端口:3000 。 这可能吗? 我试图做到这一点https://www.digitalocean.com/community/tutorials/how-to-install-express-a-node-js-framework-and-set-up-socket-io-on-a-vps但我需要在我的命令行,以便它始终运行。 我听说使用nginx作为代理服务器,但我不知道如何configurationnode.js

Nginx的restful url重写

我需要像这样重写URL: example.com/demo/test/123/edit 至: example.com/demo/test.php?a=123&b=edit 它适用于这个重写规则: location /demo { rewrite ^/demo/(.*)/(.*)/(.*) /demo/$1.php?a=$2&b=$3 last; } 但URL可以是/ demo / test和/ demo / test / 123,所以重写规则不起作用。 我试过了: rewrite ^/demo/(.*)(?:/*)(.*)(?:/*)(.*) /demo/$1.php?a=$2&b=$3 last; 但没有运气。

没有指定nginx子文件夹的input文件

我在这个网站search了很多结果与我的问题相同的标题,但我找不到一个西装,这是我的问题:我在Ubuntu上安装nginx 现在一切正常,但是当我试图创build一个新的子文件夹“for exam / var / www / html”是root并且我的子文件夹是“/ var / www / html / test1”,并且在这里有一个index.php文件文件夹中,我可以通过在“/ etc / nginx / site-avaiable-default”中添加新的位置/ test1来访问“/ var / www / html / test1” 但是当我想添加2或3个新的子文件夹时会发生什么? Test2,Test3,Test4。 所以我必须再次打开“default”文件并为每个子文件夹添加“location / test $”,这种方式不是一种灵活的方式。 如何处理它在全球,这意味着当我创build一个新的子文件夹,我不想得到“没有input文件指定”了? 这是我的configuration server { server_name localhost; root /var/www/html; ## <– Your only path reference. index index.html index.php; # Enable compression, […]

Nginx:来自远程munin服务器的代理图表

我试图在一系列nginx托pipe的域下创build一个/图表文件夹(所以我试图使用代理…),从远程munin服务器的graphics将显示。 这个munin服务器把几个域名服务器作为外部节点,并且工作得很好…(我已经在一个专门的nginx服务器上设置了它,并且使用了CGI)现在我想让最终的域用户监视它们的“部分”慕尼黑图树。 我正在使用: location /graphs/ { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header Host my-graphs-server.example.com; proxy_pass http://my-graphs-server.example.com./munin/clients/Servers/client1/; } 这样,我可以达到目标的munin服务器的HTML网站,但我没有图像,没有CSS …不可用… Munin生成的代码是充满的../ ../ .. ../../ ..所以我想有一个方法来重写基本path,手动目标munin /静态文件夹,所以…我findnginx代理+重写非常密集… 有没有人实现代理一个munin服务器?