Questions tagged «nginx»

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

4
Nginx上的SSL握手协商非常慢
我使用Nginx作为4个Apache实例的代理。我的问题是SSL协商需要很多时间(600毫秒)。以此为例:http : //www.webpagetest.org/result/101020_8JXS/1/details/ 这是我的Nginx Conf: user www-data; worker_processes 4; events { worker_connections 2048; use epoll; } http { include /etc/nginx/mime.types; default_type application/octet-stream; access_log /var/log/nginx/access.log; sendfile on; keepalive_timeout 0; tcp_nodelay on; gzip on; gzip_proxied any; server_names_hash_bucket_size 128; } upstream abc { server 1.1.1.1 weight=1; server 1.1.1.2 weight=1; server 1.1.1.3 weight=1; } …
17 linux  ssl  nginx 

5
Nginx代理的请求方法
是否可以/如何配置Nginx位置块以根据请求方法(即GET / POST)代理到不同的后端? 原因是,我目前正在2个不同的URL处处理2个方法(一个通过http代理,另一个通过fcgi),并试图使其更加“ REST”有效,因此,理想情况下,希望获取资源以返回列表,而在发布到相同资源时应添加到列表中。
17 proxy  nginx  http 

1
Nginx:如何完全禁用请求正文缓冲
我正在尝试在Ubuntu盒子上设置Madsonic,并在其前面运行Nginx。问题是,当我尝试通过Web界面上传内容时,我始终收到此警告: 31115#0: *14 a client request body is buffered to a temporary file 这也解释了为什么上传窗口上的进度条不起作用。这是我相关的Nginx配置: # proxy the madsonic server here location / { proxy_pass https://madsonic-server/; proxy_redirect off; proxy_buffering off; proxy_request_buffering off; allow all; proxy_http_version 1.1; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Host $server_name; proxy_set_header X-Forwarded-Proto $scheme; …



2
如何设置systemd服务依赖项?
在CentOS 7系统引导过程中,nginx启动失败,并显示以下错误: 2014/08/04 17:27:34 [emerg] 790#0: bind() to a.b.c.d:443 failed (99: Cannot assign requested address) 我怀疑这是由于尝试绑定到该IP地址以通过SSL为虚拟主机提供服务之前尚未启用网络接口而导致的。 我的猜测是我需要将network.service指定为nginx.service的要求,但是我根本无法在/ etc / systemd /中找到该网络服务。 如何在systemd中配置服务顺序或依赖关系?

3
nginx:转储HTTP请求以进行调试
Ubuntu 10.04.2 nginx 0.7.65 我看到一些奇怪的HTTP请求进入我的Nginx服务器。 为了更好地了解发生了什么,我想为此类查询转储整个HTTP请求数据。(即,将所有请求标头和正文转储到我可以读取的位置。) 我可以用Nginx做到吗?或者,是否有一些HTTP服务器可以让我直接执行此操作,我可以通过nginx代理这些请求? 更新:请注意,此框有一堆正常的流量,我想避免捕获所有低级别的流量(例如使用tcpdump),然后再将其过滤掉。 我认为,首先在重写规则中过滤良好的流量会容易得多(幸运的是,在这种情况下,我可以很轻松地编写一个流量),然后仅处理虚假流量。 而且我不想将虚假的流量引导到另一个盒子以便能够用它捕获它tcpdump。 更新2:为提供更多详细信息,伪请求foo在其GET查询中具有名为(例如)的参数(该参数的值可以不同)。保证良好的请求永远不会使用此参数。 如果我可以对此进行过滤tcpdump或ngrep以某种方式进行过滤-没问题,我将使用它们。
17 ubuntu  nginx  http 


4
启用Nginx分块传输编码
看起来nginx 0.8.35可能支持分块传输编码: Nginx的更改0.8.35 2010年4月1日 *) Change: now the charset filter runs before the SSI filter. *) Feature: the "chunked_transfer_encoding" directive. 这很棒,因为我正在尝试通过Nginx反向代理将git更改推入git-http-backend进程。由于客户端效率原因, Git HTTP利用分块传输编码。 但是,我无法使其正常工作。我在Debian Lenny上使用nginx 0.8.44,并进行以下配置调用: ./configure \ --sbin-path=/usr/sbin \ --conf-path=/etc/nginx/nginx.conf \ --error-log-path=/var/log/nginx/error.log \ --http-log-path=/var/log/nginx/access.log \ --user=www-data \ --group=www-data \ --pid-path=/var/run/nginx.pid \ --lock-path=/var/lock/nginx.lock \ --with-http_ssl_module \ --with-http_gzip_static_module \ --with-http_realip_module 以及以下conf文件: …
17 nginx  git  chunked 

2
修改Nginx反向代理返回的HTML页面
我有一个反向代理设置,用于从Internet访问位于Intranet内的第三方应用程序。假设此应用程序位于URL上: https://internalserver:8080/ (仅可从Intranet访问) 并且代理处于开启状态: https://proxyserver/ (可从世界任何地方到达) 该代理由nginx管理,并且可以正常工作。当用户访问时,https://proxyserver/ 他们会在处获得应用程序的内容https://internalserver:8080/。 问题在于应用程序正在HTML响应中写入绝对URL,因此,当用户单击指向新页面的链接时,浏览器将尝试使用其内部名称(例如https://internalserver:8080/somepage 而不是) 来定位该页面 https://proxyserver/somepage。 我知道这是一个程序错误,但是我无法修改该程序。 我可以使用Nginx拦截响应,修改URL并将其发送(修改)给最终客户端吗?也许还有其他工具? 编辑:我之前看到过此问题,但我的情况更具体,引用的问题要求进行一般性修改。在那种情况下,fast-cgi ad hoc程序是最好的解决方案,我想要的是针对(我认为)更常见情况的一种更具体的解决方案。虽然快速cgi程序可以工作,但我正在寻找一种最简单,可能更强大的方法,并在现实世界中证明了这种情况的解决方案。

2
nginx拆分大配置文件
我的nginx默认配置文件越来越大。我想将其拆分为较小的配置文件,每个文件最多仅包含一个,每个文件最多包含4个位置,以便我可以快速启用/禁用它们。 实际文件如下所示: server { listen 80 default_server; root /var/www/ location /1 { config info...; } location /2 { config info....; } location /abc { proxy_pass...; } location /xyz { fastcgi_pass....; } location /5678ab { config info...; } location /admin { config info....; } 现在,如果我想将其拆分为每个文件中只有几个位置(位置在一起),那么在不引起混乱的情况下进行处理的正确方法是什么(例如在每个文件中声明root,因此具有奇怪的路径是nginx尝试查找文件)?

2
Nginx https重写将POST转换为GET
我的代理服务器在ip A上运行,这是人们访问我的Web服务的方式。Nginx配置将重定向到IP B上的虚拟机。 对于IP A上的代理服务器,我在我的站点中有此服务器 server { listen 443; ssl on; ssl_certificate nginx.pem; ssl_certificate_key nginx.key; client_max_body_size 200M; server_name localhost 127.0.0.1; server_name_in_redirect off; location / { proxy_pass http://10.10.0.59:80; proxy_redirect http://10.10.0.59:80/ /; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } server { listen 80; rewrite ^(.*) https://$http_host$1 permanent; server_name …
17 nginx  rewrite 

6
Nginx重写规则以下划线替换查询字符串问号
为了将整个网站镜像为静态HTML, 我想将URL转换http://example.com/script.php?t=12为http://example.com/script.php_t=12。 注意?URL正在被转换为_。 这将允许nginx或apache从磁盘上将这些文件作为我们从中获取并保存的原始HTML wget(每个URL一个文件)而不是PHP文件。 是否可以通过Nginx URL重写来做到这一点?
16 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.