标签: nginx

配置了 http2 的 Nginx 不提供 HTTP/2

我的 Nginx 配置有问题。我升级到 nginx 1.9.6 来测试 http/2 但它在我的服务器上不起作用。

我使用了 ubuntu 14.04.2 LTS

这是 nginx -V 输出:

nginx version: nginx/1.9.6
built with OpenSSL 1.0.2d 9 Jul 2015
TLS SNI support enabled
configure arguments: --prefix=/etc/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-log-path=/var/log/nginx/access.log --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --lock-path=/var/lock/nginx.lock --pid-path=/var/run/nginx.pid --with-pcre-jit --with-debug --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_geoip_module --with-http_gzip_static_module --with-http_image_filter_module --with-http_realip_module --with-http_stub_status_module --with-http_ssl_module --with-http_sub_module --with-http_xslt_module --with-http_v2_module --with-stream --with-ipv6 --with-mail --with-mail_ssl_module --with-openssl=/build/nginx-GFP362/nginx-1.9.6/debian/openssl-1.0.2d --add-module=/build/nginx-GFP362/nginx-1.9.6/debian/modules/nginx-auth-pam --add-module=/build/nginx-GFP362/nginx-1.9.6/debian/modules/nginx-echo --add-module=/build/nginx-GFP362/nginx-1.9.6/debian/modules/nginx-upstream-fair --add-module=/build/nginx-GFP362/nginx-1.9.6/debian/modules/nginx-dav-ext-module --add-module=/build/nginx-GFP362/nginx-1.9.6/debian/modules/nginx-cache-purge
Run Code Online (Sandbox Code Playgroud)

这是我的虚拟主机配置:

server {
    listen         80;
    server_name    localhost;
    return         301 https://$server_name$request_uri;
}

server { …
Run Code Online (Sandbox Code Playgroud)

nginx openssl

33
推荐指数
1
解决办法
2万
查看次数

在 nginx 反向代理和后端网络服务器之间使用 HTTP/2.0

我在能够执行 HTTP/2.0 的后端网络服务器前使用 nginx 作为反向 ssl 代理。

我注意到 nginx 通过 HTTP/1.1 而不是 HTTP/2.0 代理对后端服务器的请求。是否可以告诉 nginx 使用未加密的 HTTP/2.0 连接?这会提高性能吗?

nginx reverse-proxy http2

33
推荐指数
3
解决办法
4万
查看次数

为什么 Nginx 这么快?

像 rambler 这样的网站如何如此快速地提供动态内容?甚至比雅虎(它在我的国家 - 东南亚有一个服务器;漫步者没有)还要快。

这纯粹是 Nginx 的能力吗?我应该去哪里了解这些功能?

这里几乎是一个新手,我相信如果从 Nginx 提供 serverfault.com 将比 IIS 7 快得多(假设这两种情况下的数据库访问时间相同)。这是一个公平的假设吗?

编辑:

Karl在 IIS7 前使用Nginx发布的帖子

nginx web-server apache-2.2

32
推荐指数
3
解决办法
1万
查看次数

如何在 nginx 中限制速率,但包括/排除某些 IP 地址?

我可以使用limit_req速率限制对我的服务器的所有请求。

但是,我想取消对某些 IP 地址(即白名单)的速率限制,并对某些其他地址(即我希望低至 1r/s 的某些 IP)使用不同的速率限制。

我尝试使用条件(例如if ( $remote_addr = "1.2.3.4" ) {}),但这似乎只适用于重写规则,不适用于速率限制规则。

nginx rate-limiting

32
推荐指数
2
解决办法
3万
查看次数

Nginx - 如何将具有特定 IP 的用户重定向到特殊页面

我经营着一个相当大的图片库,有 5 位访问者每天使用网络复印机下载整个网站,从而创造了巨大的流量。这些访问者似乎拥有静态 IP。我想要实现的是,这 5 个 IP 在访问该站点时立即被重定向到某个页面(这解释了为什么它们的行为有问题)。所有其他访问者都应该能够正常浏览网站。

服务器运行 CentOS (5.8) 和 nginx (1.0.15) 作为网络服务器。有没有办法通过您知道的 nginx.conf 中的条目来实现这一点?

非常感谢您的提示和支持!

亲切的问候-亚历克斯

nginx ip redirect

32
推荐指数
3
解决办法
10万
查看次数

从 Nginx 反向代理转发自定义标头

我有一个 nginx Web 服务器充当反向代理,将请求转发到 Apache 进行额外处理(我求你不要问为什么)。我有一个请求,我试图附加一个自定义标头,我希望 nginx 将该自定义标头转发给 Apache,以便我可以在应用程序中使用它做一些事情。

我已经翻阅了HttpProxyModule文档,但即使我在正确的地方,它们也不是很具有描述性(很可能我不是)。

如何让 nginx 转发X-CUSTOM-REFERRER标头?此外,如果可能的话,我希望它沿着进入的任何自定义标题转发。如果后者要求太多,前者就足以满足我目前的需要。

如您所见,我对 nginx 非常陌生,因此补救版本会有所帮助。

谢谢。

更新

我现有配置中的相关片段:

location / {
    proxy_pass                  http://preview;
    proxy_redirect              off;
    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_set_header            X-Custom-Referrer $x_custom_referrer;
}
Run Code Online (Sandbox Code Playgroud)

nginx reverse-proxy

32
推荐指数
2
解决办法
9万
查看次数

允许 Nginx 上的跨源请求 (CORS) 进行 404 响应

我正在使用 Nginx 提供静态文件,以使用此问题中概述的技术响应 CORS 请求。但是,当文件不存在时,404 响应不包含Access-Control-Allow-Origin: *标头,因此会被浏览器阻止。

如何发送Access-Control-Allow-Origin: *404 响应?

nginx cross-domain

32
推荐指数
2
解决办法
4万
查看次数

Nginx 配置文件(相当于 htaccess)的名称和位置是什么?

有很多关于如何编写 Nginx 重写规则来模仿 Apache 的 .htaccess 文件的教程,但我不能自信地说我知道这个所谓的 Nginx 配置文件的名称或位置实际上是什么。我特别在寻找允许您编写服务器路径和 PHP 指令的 Nginx 配置文件。我使用 Ubuntu 12 linux 和 Codeigniter 作为我的 PHP 框架。

以下是我目前所知道的:

  1. 这个文件:/etc/nginx/nginx.conf尽管它的名字很吸引人,但它显然不是服务器指令的地方。
  2. 这个文件:/etc/nginx/sites-available/default似乎是我需要的(我能够生成特定于我的应用程序的 php 错误),但我无法使 Codeigniter 特定的路径路由正确。首先,这是每个人所说的“配置”文件/.htaccess 等价物吗?

php nginx .htaccess codeigniter apache-2.2

32
推荐指数
1
解决办法
9万
查看次数

nginx: bind() to 0.0.0.0:80 在 Windows 上失败

在过去的几个月里,我一直在 Windows 上使用 nginx 没有任何问题。今天,当我尝试启动它时,出现此错误:

nginx: [emerg] bind() to 0.0.0.0:80 failed (10013: 尝试以访问权限禁止的方式访问套接字)

为什么会突然开始发生这种情况?我没有改变任何配置或任何东西。

windows nginx

32
推荐指数
3
解决办法
5万
查看次数

增加 PHP-FPM 的最大上传/发布大小

我在 Ubuntu 14.04 上的 Nginx 下运行 php5-fpm。我想增加最大上传大小。

我已经编辑了我/etc/php5/fpm/php.ini的以下几行定义如下:

upload_max_filesize = 20M post_max_size = 25M

我重新启动了 php5-fpm 和 nginx,但phpinfo()仍然分别显示了 8M 和 2M 的发布和上传限制。

我在这里错过了什么吗?

nginx php.ini php-fpm

32
推荐指数
4
解决办法
8万
查看次数