Questions tagged «nginx»

Nginx(“ eNgine x”)是一种轻量级的高性能HTTP服务器,反向代理,TCP流代理和邮件代理,在类似BSD的许可证下发布。

3
如何禁用Nginx超时?
在本地开发计算机上,我有一个像这样的nginx反向代理: server { listen 80; server_name myvirtualhost1.local; location / { proxy_pass http://127.0.0.1:8080; } server { listen 80; server_name myvirtualhost2.local; location / { proxy_pass http://127.0.0.1:9090; } 但是,如果我调试我的应用程序,响应可能会延迟无限长的时间,但是在30秒后我得到: 504 Gateway Time-out 作为回应。 如何禁用超时并让我的反向代理永远等待响应?而且我喜欢将设置设置为全局设置,这样就不必为每个代理设置它。


8
如何在nginx中创建与AND一起使用且不带斜杠的位置?
现在我有这个配置: location ~ ^/phpmyadmin/(.*)$ { alias /home/phpmyadmin/$1; } 但是,如果我访问www.mysite.com/phpmyadmin(请注意,缺少尾部斜杠),它将找不到我要查找的404。我认为是因为我不包括尾部斜杠。我怎样才能解决这个问题?
46 nginx 

2
nginx url重写:break和last之间的区别
我不明白break和last(重写标志)之间的区别。该文档相当抽象。我已经尝试在某些配置中在两者之间切换,但是我没有发现任何行为上的差异。有人可以详细解释这些标志吗?最好使用在将一个标志翻转到另一个标志时显示不同行为的示例。
45 nginx  rewrite 

2
让我们使用Nginx反向代理进行加密
介绍 我有一台开发服务器(当前正在运行Ubuntu 14.04 LTS),该服务器已经使用了一段时间,用于在不同端口上托管各种开发工具。因为可能很难记住端口,所以我决定对所有服务使用端口80,并根据主机名在内部进行端口转发。 除了编写domain.com:5432,我还可以直接通过sub.domain.com访问它 例如,正在使用sub.domain.com运行的端口7547的应用程序X具有以下nginx配置: upstream sub { server 127.0.0.1:7547; } server { listen 80; server_name sub.domain.com www.sub.domain.com; access_log /var/log/nginx/sub.log combined; location / { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://127.0.0.1:7547; proxy_set_header Authorization ""; } } 问题 给定我选择的当前配置结构,是否可以使用letencrypt并在https下运行不同的服务?


1
IPv6上基于Nginx名称的虚拟主机
我有一台Nginx服务器,可提供将近六个不同的网站。它在刚刚获得IPv6本机支持的Linode(达拉斯数据中心)上运行,我正在尝试将我的大多数站点配置为双堆栈操作。我使用第一个IPv6子域启动并运行了它,如下所示: server { listen [::]:80 ipv6only=on; listen 80; server_name example.com ipv6.example.com; root /var/www/example.com/htdocs; #More stuff, including PHP, WordPress } 这很好用-example.com仅适用于IPv4(目前),而ipv6.example.com仅适用于IPv6(主要用于测试目的)。我可以ping6 ipv6.example.com并且甚至wget ipv6.example.com不费吹灰之力-轻松无忧(在通过nginx绑定虚拟主机的方式找到“陷阱”之后,需要使用ipv6only=on参数和对偶listen指令)。 但是,我现在正尝试将其扩展为支持我的其他域,从static.example.com开始;但是,当我采用与上述相同的方法(双重listen指令,包括ipv6only=on参数)时,重新启动nginx时会出现以下错误: * Starting Nginx Server... nginx: [emerg] a duplicate listen options for [::]:80 in /etc/nginx/sites-enabled/example.com.conf:3 似乎nginx的IPv6绑定方法不允许基于名称的虚拟主机?我是否需要从主机获取其他IPv6地址(这不是问题),并在IPv6上使用基于IP的虚拟主机以及在IPv4上使用基于名称的虚拟主机?还是我错过了一个解决方案,该解决方案将使我的配置在两个堆栈上保持一致? 我希望在世界IPv6日之前及时将我的站点完全放置在 IPv6堆栈上,但是除非我能迅速解决此问题,否则我可能还没有准备好。从任何实际角度来看都没什么大不了的-从我的想象力来看,我的网站都没有资格成为“主要组织”-但请帮我保存我的极客信誉! 编辑添加: 感谢@kolbyjack的回答,现在我有了一个功能齐全的双栈Web服务器。为了清楚起见,我正在编辑他给我的解决方案,以便每个人都可以清楚地看到答案是什么。 我的默认catchall虚拟主机具有以下listen指令: listen 80 default_server; listen 8080 default_server; listen …

4
什么是最好的Nginx压缩gzip级别?
我正在使用启用gzip的nginx反向代理缓存。但是,从Android应用程序对我的Rails JSON Web服务的HTTP请求中遇到了一些问题。似乎当我关闭反向代理缓存时,它可以正常工作,因为响应标头不带gzip。因此,我认为问题是由gzip引起的。什么是最合适的gzip压缩级别? gzip on; gzip_http_version 1.0; gzip_vary on; gzip_comp_level 6; gzip_proxied any; gzip_types text/plain text/css text/javascript application/javascript application/json application/x-javascript text/xml application/xml application/xml+rss;
44 nginx  gzip 

2
nginx:使用所有标头记录完整的请求/响应?
我们有一个有时挂起的应用程序服务器。我们怀疑这是由于客户的要求不当所致。 Nginx可以将完整的请求/响应(例如Fiddler捕获)记录到文件中,以便我们可以看到挂起之前发送的请求吗? (我们可能需要避免使用pcap和这种方法,并在nginx中全部完成) 如果nginx不是正确的工具,那么(网络分析仪除外)可能是什么?
44 nginx 

10
nginx错误“从上游读取响应头时,recv()失败(104:对等连接重置)”
我有一台服务器可以正常工作,直到2013年10月3日上午10:50,该服务器开始间歇性地向客户端返回“ 502 Bad Gateway”错误。 在5个浏览器请求中,大约有4个成功,但在502中,约有五分之一失败。 Nginx错误日志包含数百种此类错误; 2013/10/05 06:28:17 [error] 3111#0: *54528 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 66.249.66.75, server: www.bec-components.co.uk request: ""GET /?_n=Fridgefreezer/Hotpoint/8591P;_i=x8078 HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "www.bec-components.co.uk" 但是,PHP错误日志不包含任何匹配的错误。 有没有一种方法可以使PHP给我更多有关为何重置连接的信息? 这是nginx.conf; user www-data; worker_processes 4; error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; events { worker_connections …
44 php  nginx 

1
这里不允许使用nginx服务器指令
我知道这里有很多骗子,但是我似乎无法解决这个问题。 我正在关注有关使用Apache将Nginx设置为反向代理的文章。 我得到这个错误: nginx: [emerg] "server" directive is not allowed here in /etc/nginx/v.hosts/mydomain.com.conf:3 nginx: configuration file /etc/nginx/nginx.conf test failed 我的/etc/nginx/nginx.conf样子是这样的: http { include /etc/nginx/mime.types; default_type application/octet-stream; access_log /var/log/nginx/access.log main; charset utf-8; keepalive_timeout 65; server_tokens off; tcp_nopush on; tcp_nodelay off; server { listen 80; server_name _; root /usr/share/nginx/html; index index.html index.htm; …

2
Nginx位置正则表达式不适用于代理通行证
我正在尝试使这2个位置指令在Nginx中起作用,但是在引导Nginx时却出现了一些错误。 location ~ ^/smx/(test|production) { proxy_pass http://localhost:8181/cxf; } location ~ ^/es/(test|production) { proxy_pass http://localhost:9200/; } 这是我收到的错误: nginx: [emerg] "proxy_pass" cannot have URI part in location given by regular expression, or inside named location, or inside "if" statement, or inside "limit_except" block 听起来有人熟悉吗?我在这里想念什么?
43 nginx  proxy  regex  proxypass 

4
如何限制对目录和子目录的访问
我需要限制访问目录“ testdir”中的任何文件或子目录。我的conf: ... location ~* ^.+\.(jpg|txt)$ { root /var/www/site; } location /testdir { deny all; return 404; } ... 在我的配置中,我对/ testdir / jpg_or_txt-files没有任何限制。怎么做?
42 nginx  rewrite  deny 

3
Nginx变量$ host,$ http_host和$ server_name有什么区别?
是什么这三个变量的Nginx之间的差异$host,$http_host以及$server_name? 我有一个重写规则,在其中我不确定应该使用哪个规则: location = /vb/showthread.php { # /vb/showthread.php?50271-What-s-happening&p=846039 if ($arg_p) { return 301 $scheme://$host/forum/index.php?posts/$arg_p/; } 我在寻找一个答案,不仅要说“在重写规则中使用___变量”,还要说明它们之间的理论差异。
42 nginx  rewrite 

4
从正在运行的进程中转储nginx配置?
显然,我不应该花很多时间去调试应用程序。我想重启我的Nginx,发现它的配置文件为空。我不记得删节了,但是胖手指和注意力下降可能是他们起作用的原因。 我没有该配置文件的备份。我知道我应该做到的。 对我有好处,当前的nginx守护程序仍在运行。有没有办法将其配置转储到以后将了解的配置文件中?
42 nginx 

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.