Questions tagged «nginx»

Nginx(“引擎x”)是Web服务器,反向代理,TCP流代理和邮件代理,在类似BSD的许可证下发布。

2
Nginx子域配置
我让Nginx充当Apache的反向代理。现在,我需要添加一个新的子域,该子域将为另一个目录中的文件提供服务,但是同时,我希望默认主机拥有的所有location和proxy_pass指令也适用于该子域。 我知道,如果我将规则从默认主机复制到新的子域,它将起作用,但是子域是否可以继承规则?下面是一个示例配置 server { listen 80; server_name www.somesite.com; access_log logs/access.log; error_log logs/error.log error; location /mvc { proxy_pass http://localhost:8080/mvc; } location /assets { alias /var/www/html/assets; expires max; } ... a lot more locations } server { listen 80; server_name subdomain.somesite.com; location / { root /var/www/some_dir; index index.html index.htm; } } 谢谢
78 nginx  subdomain 

2
NGINX gzip不压缩JavaScript文件
nginx gzip并未压缩所有JavaScript文件。 CSS文件正在运行。 在我的nginx.conf我有下面几行: gzip on; gzip_disable "MSIE [1-6]\.(?!.*SV1)"; gzip_proxied any; gzip_buffers 16 8k; gzip_types text/plain application/x-javascript text/xml text/css; gzip_vary on;
78 nginx 

8
如何使用Nginx proxy_pass保留请求URL
我试图使用Thin App Server,但遇到一个问题。 当nginx代理使用proxy_pass http://my_app_upstream;应用程序向Thin(或Unicorn)发送请求时,会收到nginx(http://my_app_upstream)发送的修改后的URL 。 我想要的是传递原始URL和来自客户端的原始请求,而无需进行任何修改,因为该应用程序严重依赖它。 Nginx的文档说: 如果必须以未处理的形式传输URI,则应使用指令Proxy_pass而不带URI部分。 但由于相关示例实际上使用的是URI,因此我不知道如何准确配置它: location /some/path/ { proxy_pass http://127.0.0.1; } 那么,能否请您帮我弄清楚如何保留来自客户端的原始请求URL?
78 ruby  proxy  nginx  thin  unicorn 

3
通过Nginx的EventSource /服务器发送的事件
在服务器端,使用Sinatra和一个stream块。 get '/stream', :provides => 'text/event-stream' do stream :keep_open do |out| connections << out out.callback { connections.delete(out) } end end 在客户端: var es = new EventSource('/stream'); es.onmessage = function(e) { $('#chat').append(e.data + "\n") }; 当我通过直接使用应用程序时http://localhost:9292/,一切正常。连接是持久的,所有消息都传递给所有客户端。 但是,当它通过Nginx时http://chat.dev,该连接将被丢弃,并且每秒大约会触发一次重新连接。 Nginx的安装程序对我来说没问题: upstream chat_dev_upstream { server 127.0.0.1:9292; } server { listen 80; server_name chat.dev; location …
78 ruby  nginx  sinatra 

18
Nginx:Nginx.service的作业失败,因为控制进程已退出
我遇到了一个问题,我已经尝试解决了几天,但我不知道该怎么办,一直在寻找答案,但是我发现的所有问题都没有帮助我。 我在这里有点陌生,我真的希望有人能帮助我。您可以告诉我我需要提供哪些信息,以期找到解决方案。 $ systemctl status nginx.service nginx.service - Startup script for nginx service Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled) Active: failed (Result: exit-code) since Tue 2016-03-08 13:23:35 GMT; 2min 20s ago Mar 08 13:23:33 startdedicated.com nginx[8315]: nginx: [emerg] bind() to ------------ f...e) Mar 08 13:23:33 startdedicated.com nginx[8315]: nginx: [emerg] …
77 nginx 

2
为什么要使用Mongrel2?
我很困惑Mongrel2服务/提供的目的是nginx尚未实现的。 (是的,我已经阅读了该手册,但是我必须是一个新手,以了解它与nginx的根本区别) 我现在的Web应用程序堆栈是: - nginx的:Web服务器 -的Lua:与编程语言 -的FastCGI + LuaJIT:nginx的连接到Lua - Postgres的:数据库

1
上游/下游术语向后使用?(例如nginx)
我一直在考虑实际流的上游和下游,那里的信息流就像水一样。因此,上游是水/数据的来源(例如,HTTP请求),下游是水/数据的来源(例如,为请求提供服务的基础系统)。 我最近一直在研究API网关,并注意到其中一些使用了与该定义相反的含义。当时我觉得有些奇怪。然后,我发现某些API网关所基于的nginx也以与我期望相反的方式使用了该术语。nginx将发送请求的服务器称为“上游服务器”,因此传入的请求可能是“下游客户端”。 从概念上讲,如果进入“上游服务器”,nginx似乎会将请求“推向上坡”,这完全是违反直觉的……在反向代理和API网关领域,重力是反向的,显然! 我已经看过其他讨论,它们讨论上游/下游代表系统之间的依赖性,但是对于位于系统之间的中间件或基础结构组件,依赖性的概念稍微宽松一些,并且我认为仍然可以从信息流的角度进行思考-因为无论如何,这通常是依赖项的来源。 我对流类比的理解是否从根本上错了,还是这些软件组件使概念倒退了?
75 nginx  definition 

5
简单的NGINX日志文件分析器
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow的主题。 3年前关闭。 改善这个问题 我正在寻找一个简单的工具来分析我的Macbook上的NGINX日志。我希望能够获得一些基本统计信息,包括漫游器访问,还能够对日志进行排序/过滤,以找出服务器崩溃之前发生的情况。
74 nginx  analytics 


2
jQuery上传进度和AJAX文件上传
看来我还没有清楚地传达我的问题。我需要发送一个文件(使用AJAX),并且需要使用Nginx HttpUploadProgressModule获取文件的上传进度。我需要一个很好的解决方案。我已经尝试过使用jquery.uploadprogress插件,但是我发现自己不得不重写其中的大部分内容,以使其在所有浏览器中都能正常工作并使用AJAX发送文件。 我所需要的只是执行此操作的代码,它需要在所有主要的浏览器(Chrome,Safari,FireFox和IE)中运行。如果我能找到可以处理多个文件上传的解决方案,那就更好了。 我正在使用jquery.uploadprogress插件从NginxHttpUploadProgressModule获取文件的上传进度。这是在Facebook应用程序的iframe中。它可以在Firefox中使用,但不能在chrome / safari中使用。 当我打开控制台时,我得到了。 Uncaught ReferenceError: progressFrame is not defined jquery.uploadprogress.js:80 知道我该如何解决吗? 我还想在完成后使用AJAX发送文件。我将如何实施? 编辑: 我很快需要这个,这很重要,所以我要在这个问题上悬赏100分。第一个回答的人将获得100分。 编辑2: Jake33帮助我解决了第一个问题。第一个对如何使用ajax发送文件做出回应的人也将获得100分。

6
Nginx无法启动(地址已在使用中)
我对nginx有问题。我尝试了不同的解决方案,但对我而言却无济于事。那是我的错误: 4 root@BANANAS ~ # sudo service nginx restart :( Restarting nginx: nginx: [emerg] bind() to [::]:443 failed (98: Address already in use) nginx: [emerg] bind() to [::]:443 failed (98: Address already in use) nginx: [emerg] bind() to [::]:443 failed (98: Address already in use) nginx: [emerg] bind() to [::]:443 …
72 nginx 

2
为什么HTTP服务器禁止在HTTP标头名称中使用下划线
我有一个自定义HTTPSESSION_ID标头未由nginx代理传输的问题。 有人告诉我,根据HTTP RFC,下划线是禁止的。 搜索时,我发现大多数服务器(例如Apache或nginx)在RFC2616第4.2节中将它们定义为非法,该消息说: 遵循与RFC 822 [9]第3.1节中给出的相同通用格式。 RFC822说: 字段名称必须由可打印的ASCII字符组成(即,值介于33和126之间的字符,十进制,冒号除外) 下划线是ASCII表中的十进制字符95,范围为33-126。 我想念什么?
71 apache  http  nginx  rfc 


7
从$ request_body记录POST数据
我的配置设置可以处理一堆GET请求,这些请求使像素能够很好地处理分析并解析查询字符串以进行记录。通过附加的第三方数据流,我需要处理对给定URL的POST请求,该给定URL在其请求正文中具有预期的可记录格式的JSON。我不想与辅助服务器一起使用,proxy_pass而只想像响应GET请求一样将整个响应记录到关联的日志文件中。我正在使用的一些代码片段如下所示: GET请求(效果很好): location ^~ /rl.gif { set $rl_lcid $arg_lcid; if ($http_cookie ~* "lcid=(.*\S)") { set $rl_lcid $cookie_lcid; } empty_gif; log_format my_tracking '{ "guid" : "$rl_lcid", "data" : "$arg__rlcdnsegs" }'; access_log /mnt/logs/nginx/my.access.log my_tracking; rewrite ^(.*)$ http://my/url?id=$cookie_lcid? redirect; } 这是我想要做的事情:POST请求(不起作用): location /bk { log_format bk_tracking $request_body; access_log /mnt/logs/nginx/bk.access.log bk_tracking; } 冰壶curl http://myurl/bk …

3
Nginx代理Amazon S3资源
我正在执行一些WPO任务,因此PageSpeed建议我利用浏览器缓存。我已经为Nginx服务器中的一些静态文件成功地对其进行了改进,但是存储在Amazon S3服务器中的图像文件仍然丢失。 我已经阅读了有关在S3中更新每个文件以包括一些标头元标记(Expires和Cache-Control)的方法。我认为这不是一个好方法。我有成千上万个文件,所以这对我来说不可行。 我认为最方便的方法是将Nginx 1.6.0服务器配置为代理S3文件。我已经读过有关此内容的信息,但是我对服务器配置一点都不了解,因此我从这些站点上获得了一些示例:https : //gist.github.com/benjaminbarbe/1961db5ffbaad57eff12 我在我的nginx配置文件的服务器块内添加了此位置代码: #inside server block location /mybucket.s3.amazonaws.com/ { proxy_http_version 1.1; proxy_set_header Host mybucket.s3.amazonaws.com; proxy_set_header Authorization ''; proxy_hide_header x-amz-id-2; proxy_hide_header x-amz-request-id; proxy_hide_header Set-Cookie; proxy_ignore_headers "Set-Cookie"; proxy_buffering off; proxy_intercept_errors on; proxy_pass http://mybucket.s3.amazonaws.com; } 当然,这对我不起作用。我的请求中没有标题。因此,首先我认为请求与位置不匹配。 Accept-Ranges:bytes Content-Length:90810 Content-Type:image/jpeg Date:Fri, 23 Jun 2017 04:53:56 GMT ETag:"4fd0be549fbcaf9b47c18a15146cdf16" Last-Modified:Tue, 09 …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.