Articles of nginx

无法将Nginxconfiguration为另一台服务器上的elasticsearch的反向代理

我试图在服务器A上使用Kibana来访问服务器B上的elasticsearch。 在服务器B上使用基本身份validation进行elasticsearch保护。 Kibana也受到服务器A上的基本身份validation(和相同的密码)的保护。 我使用这个configuration(从这里启发) 我只是通过input以下地址来尝试redirect,我得到一个错误500: http://A.com/es/_search 在日志中我有: 2014/06/01 16:45:55 [error] 3721#0:* 1重写或内部redirect周期内部redirect到“/ es / _search”,客户端:192.168.50.1,服务器:A.com,请求:“ GET / es / _search HTTP / 1.1“,主机:”A.com“ 任何想法可能是错的?

无法连接到Ubuntu上的HTTPS端口

我已经安装了一个新的SSL证书,并设置Nginx来使用它。 但是在试图点击网站上的HTTPS时请求超时。 当我在端口80上telnet到我的域时,它会连接,但在端口443上超时。我不确定在Ubuntu上是否有一些默认设置阻止连接。 cURL也超时到HTTPS地址,但响应常规的HTTP。 UFW状态显示: 443 ALLOW Anywhere netstat -a显示: tcp 0 0 *:https *:* LISTEN nmap localhost显示: 443/tcp open https Nginxconfiguration中的相关块是: server { listen 443; listen [::]:80 ipv6only=on; listen 80; root /path/to/app; server_name mydomain.com ssl on; ssl_certificate /etc/nginx/ssl/ssl-bundle.crt; ssl_certificate_key /etc/nginx/ssl/server.key; location / { proxy_pass http://mydomain.com; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } } 编辑:尝试了一系列的nginxconfiguration选项,我真的怀疑它的设置。 […]

Varnish + Nginx +多个IP地址

这是我的第一个使Varnish在我的专用服务器上工作,该服务器托pipe2个具有2个独立IP地址的域。 我简化的设置如下: Nginx conf server { listen ip-address-1:8080; } server { listen ip-address-2:8080; } 清漆vcl backend default { .host = "127.0.0.1"; .port = "80"; } 在我定义的清漆conf VARNISH_LISTEN_PORT=80 Varnish和Nginx(和php-fpm)运行正常,但是当我尝试去我的网站时,显示nginx页面的欢迎。 标题中没有x-varnish。 看起来由于某种原因,清漆不听80端口。我怀疑这与127.0.0.1主机正在监听的vcl文件有关。 我正在运行两个WordPress的网站。 我应该在哪里寻找让Varnish正常工作? 干杯,阿德南 编辑: Nginx似乎在8080正确,但Varnish不听正确的IP地址。 使用Jens多个清漆IP地址netstat -lnp产生: Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 46.105.40.241:8080 0.0.0.0:* LISTEN 21610/nginx tcp […]

添加PageSpeed模块安装nginx

我喜欢在Ubuntu上将Google PageSpeed模块添加到我的nginxnetworking服务器。 这个链接提供了一个简单的https://developers.google.com/speed/pagespeed/module/build_ngx_pagespeed_from_source?hl=de的概述,但是它只涵盖了从头开始安装nginx的情况。 我已经安装了nginx,当我在/ var / lib / nginx文件夹中input以下命令行时,出现“No such file”错误: ./configure –add-module=$HOME/ngx_pagespeed-release-1.7.30.4-beta

NGINX SSL连接错误

我已经将SSL证书添加到我的服务器。 (Nginx运行的乘客和Rails)。 我创build了一个CSR,上传到GoDaddy,下载了密钥。 里面/ srv / ssl我有 www.mydomain.com.crt www.mydomain.com.key 我的nginx版本: nginx -V nginx version: nginx/1.2.6 built by gcc 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) TLS SNI support enabled configure arguments: –prefix=/usr/local/nginx –with-http_ssl_module –with-http_gzip_static_module –with-cc-opt=-Wno-error –with-pcre=/tmp/root-passenger-27798/pcre-8.31 –add-module=/home/deploy/.rvm/gems/ruby-1.9.3-p392/gems/passenger-3.0.19/ext/nginx 我把这个添加到我的nginx.conf文件中: server { listen 443; server_name localhost; ssl_certificate /srv/ssl/www.mydomain.com.crt; ssl_certificate_key /srv/ssl/www.mydomain.com.key; location / { root html; index index.html index.htm; } error_page 500 […]

NginxconfigurationDreamHost VPS

我把我的网站在Dreamhost VPS上运行在nginx上。 凉。 我想通过将以下内容添加到站点范围的nginx conf文件(/dh/nginx/servers/httpd-psxxxxxx/nginx.conf)的http块来限制每个IP的连接数量: limit_conn_zone $binary_remote_addr zone=addr:10m; limit_conn limit_per_ip 50; 重新加载nginx,一切工作正常和丹迪。 当服务器重新启动时,nginx无法启动。 我必须再次转到nginx文件,注释掉限制每个IP的连接数的两行,重新加载nginx,然后返回并取消注释这两行,然后重新加载nginx。 之后,一切都很好。 如果我尝试重新加载服务器后重新加载nginx我得到以下错误信息: webserver… nginx: [emerg] zero size shared memory zone "limit_per_ip" failed! 我究竟做错了什么? 我所要做的就是防止单个IP占用所有连接,并通过触发重新启动的屋顶来驱动我的VPS上的RAM。

Nginx重写URL而不是静态文件

我需要重写URL http://www.domain.com/blog/wp-content/uploads/this-is-a-static-file.jpg 至 http://www.domain.com/wp-content/uploads/this-is-a-static-file.jpg 我正在使用这个规则: location /blog/wp-content$ { rewrite ^/blog/wp-content/(.*)$ /wp-content$1 last; } 奇怪的是,只有直接在wp-content之后而没有静态文件的URL被正确地重写: http://www.domain.com/blog/wp-content/uploads/ => http://www.migayopruebas.com/wp-content/uploads/ 但是,它有多个子级别或涉及静态文件,它不起作用: http://www.domain.com/blog/wp-content/uploads/migayo-trangulacion-laton.jpg => doesn't change http://www.domain.com/blog/wp-content/migayo-trangulacion-laton.jpg =>不会改变 任何人都可以指出我正确的方式来做到这一点? 我已经阅读了Nginx的文档和几个例子,仍然无法使其工作。 非常感谢,问候。

502坏门户 – Nginx,spawn-fcgi,WordPress

我在CentOS VPS上托pipe了几个站点,并且一切正常,直到服务器上的一个WordPress站点开始返回502 Bad Gateway错误。 其他网站工作正常。 如果我重命名BuddyPress插件目录,WordPress网站将加载,但我不确定如何debugging此插件现在导致问题(该插件以前工作,并没有更新)。 完全相同的代码/数据库将正确使用我的本地Apache安装,所以它似乎是特定于服务器configuration。 不使用这个插件是不是一个选项,所以我的问题是更多关于如何debugging服务器configuration。 我的configuration: CentOS 5.10 Nginx 1.60 PHP 5.5 spawn-fcgi 1.6.3 错误: 浏览器 502 Bad Gateway nginx/1.6.0 Nginx / PHP错误日志 2014/06/28 19:40:13 [error] 8146#0: *22994 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 127.0.0.1, server: *.example.com, request: "GET / HTTP/1.0", upstream: "fastcgi://127.0.0.1:53217", host: […]

Nginx地图指令用于多个variables

我目前在Magento中使用nginx,我使用map指令来提供这样的商店代码: map $http_host $magecode { www.store.com retail_store; wholesale.store.com wholesale_store; beta.store.com retail_beta_view; } 这样做的缺点是,如果我testing网站是自己的商店,我不能使用相同的目录。 相反,我想使testing版网站,而不是商店 。 是否可以同时映射两个variables? 我想象它会是这样的: map $http_host $magecode $magetype { www.store.com retail_store website; wholesale.store.com wholesale_store website; beta.store.com retail_beta_view store; } 如果不是,我可以映射相同的variables两次? map $http_host $magecode { … } map $http_host $magetype { … }

更新caching – 当srcache从caching返回响应时控制最大年龄

我已经configurationNginx使用srcache(以及redis和redis2模块)。 服务器端caching很好。 我的应用程序响应相应的Expires和Cache-Control标题,srcache将相应地存储和从Rediscaching中获取。 我希望我的回应可以被我的服务器之外的浏览器和代理caching。 Expires和Cache-Control标题被发送。 但是, Cache-Control max-age不会自动更新。 我认为这是因为这个头实际上存储在caching中。 注意这些响应的date,并且Cache-Control头中的max-age仍然是2592000 …初始值。 HTTP/1.1 200 OK Server: nginx/1.2.9 Date: Tue, 01 Jul 2014 15:18:19 GMT Content-Type: application/javascript Content-Length: 2710 Connection: keep-alive Vary: Accept-Encoding Expires: Thu, 31 Jul 2014 15:13:00 GMT Cache-Control: public, max-age=2592000, must-revalidate, proxy-revalidate X-SRCache-Key: fde32bfe93fcf90c398e9ed585991146 X-SRCache-Fetch-Status: HIT X-SRCache-Store-Status: BYPASS HTTP/1.1 200 OK Server: nginx/1.2.9 Date: […]