Articles of nginx

端口8080的nginxredirect给出了奇怪的结果

在我的configuration中,我有以下几点: server { listen 8080; server_name example.com www.example.com; return 301 https://$server_name$request_uri; } server { listen 443 ssl; … 问题是,对http://example.com:8080的调用返回https://example.com:8080的redirect,而不是预期的https://example.com/ (隐式到端口443 ) 如何避免让nginx使用错误的端口? 端口80的类似规则工作正常,可能是因为它不传递默认端口80作为URI的一部分 更新:testing中的问题部分是由于浏览器cachingredirect,意味着任何后续的testing将产生以前的结果。 我将下面的指令添加到server port_in_redirect off; 然而,在隐身/私密模式下testing,我得到正确的redirect,但只是第一次。 第二次尝试相同的链接,我再次得到不好的redirect。 wget不显示这种行为,并总是得到正确的redirect,可能是因为它不会caching这些。 但是,这意味着我正在尝试的redirect还是有些不对,因为浏览器显然决定用非默认的端口号来忽略它们。

什么样的要求呢?

我在我的服务器上安装了Nginx,我正在从GPS + GPRS设备获取TCP请求。 当我访问access.log我find这个。 126.51.10.6 – – [06/Jun/2016:16:46:53 -0400] "GET / HTTP/1.1" 500 32 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.86 Safari/537.36" 126.51.10.6 – – [06/Jun/2016:16:46:54 -0400] "GET / HTTP/1.1" 500 32 "-" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.86 Safari/537.36" 223.229.182.77 – – [06/Jun/2016:16:47:08 -0400] "(009591810720BP05000009591810720160606A1254.6425N07738.5244E000.0204656000.0000000000L00000033)" 400 181 "-" […]

nginx拒绝ip – 通过错误日志中的规则禁止访问

我们阻止了一些不好的机器人,他们通过NGINX的“拒绝”指令无情地尝试访问我们的网站。 我们无法在防火墙上阻止它,因为我们使用的是我们无法从云提供商那里获得的负载平衡器。 这个指令工作正常,但我们的nginx error.log文件被这些请求充斥。 我们让他们轮换,但对我们来说很差,因为有这么多的请求,我们实际上不能使用错误日志来查看是否有任何我们应该注意的真正的错误。 所以有几个问题: 我们如何防止nginx将这些错误发送到error.log。 为什么nginx认为这是一个错误? 如果你指定一个拒绝指令并且ip被拒绝,那么从http的angular度来看,这是一个成功的403响应,根本不应该被认为是一个错误(imo)。

多个Nginx错误日志位置

我试图让Nginxlogin到日志文件和stderr。 这背后的原因是,我希望Nginxlogin到日志文件以及日志。 从我所做的研究和testing中,我可以做到这一点,而不是两个。 到一个日志文件: error_log /var/log/nginx/error.log; 要记者: error_log stderr; 我在做什么: /etc/nginx/sites-available/DOMAIN.COM.conf 正在做这样的事情吗? 如果是这样怎么办?

添加一个URL后缀path(移动AMP),而不会在nginx中导致redirect循环

我正在使用nginx web服务器为我的wordpress网站。 我将使它成为移动服务的放大版本。 我想添加/放大/我的url。 我也使用漂亮的固定链接为我目前的url,所以我可以知道如何重写我的url在手机版/放大器/ 我正在使用重写^ http://example.com $ request_uri / amp / break; 但是当我服务networking时,它变成了这个 exmaple.com/homepage//amp//amp//amp//amp//amp//amp//amp//amp//amp//amp//amp//amp//amp//amp//amp//amp//amp//amp//amp//amp//amp/ 我希望当iphone服务的网页,链接将是http://exmaple.com/homepage/amp/ 主要目的我只想添加/放大/网站的任何链接。 这是我的nginx.conf server { listen 80; server_name example.com; charset utf-8; access_log logs/xxx.access.log; root /var/www/html; index index.php; location / { try_files $uri $uri/ /index.php?q=$uri; } location /en { try_files $uri $uri/ /en/index.php?q=$uri; } location /my { try_files $uri $uri/ /my/index.php?q=$uri; […]

netstats显示我自己的服务器正在打它不应该知道的服务器

在AWS上,我有几个专门的服务器进行image processing,他们似乎获得高stream量和失败。 运行时 netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n 我得到最活跃的IP是nginx负载平衡器服务器的IP,不应该将stream量路由到这些服务器。 这是否意味着我的服务器以某种方式被利用? 我怎么能告诉什么是stream量的原因,并检查负载平衡服务器(Ubuntu的nginx)?

phpMyAdmin reCaptcha错误allow_url_fopen = 0

我有phpMyAdmin在Nginx上运行。 我还启用了reCaptcha $cfg['CaptchaLoginPublicKey'] = 'secretkey'和$cfg['CaptchaLoginPrivateKey'] = secretkey' 。 我将上面添加到config.inc.php 。 正如你在下面看到的,我已经启用了reCaptcha。 密钥也正确input。 但是当我login时,我得到以下错误: inputvalidation码错误,请重试! ./libraries/plugins/auth/recaptcha/ReCaptcha/RequestMethod/Post.php#68 file_get_contents()中的警告:https:// wrapper在服务器configuration中被禁用,allow_url_fopen = 0 我确定我input了相关validation码。 根据这个Bug报告,这个问题将在下一个版本中解决。 我正在使用最新的PHPMyAdmin 版本4.6.2与PHP7.0。 在我的php.ini中, allow_url_fopen = off 。 任何机构知道这是一个解决方法? 谢谢。 更新:如果allow_url_fopen = On,问题是固定的。 但是,有没有解决上述错误,因为我想将其设置为closures,出于安全原因。

PHP-FPMsubprocess被创build并且不会消失

我有一个Ubuntu的15.04服务器与160GB的RAM和40个CPU核心。 Nginx是Web服务器,清漆用于caching。 该网站是在平日里交通非常高的WordPress的。 www.conf是: [www] user = www-data group = www-data listen = 127.0.0.1:7654 listen.backlog = 65535 listen.owner = www-data listen.owner = www-data pm = ondemand pm.max_children = 1000 pm.process_idle_timeout = 10s pm.max_requests = 500 chdir = / 我正在使用Monit进行监控。 在monit中,可以看到php subprocess正在以戏剧性的方式创build。 它往往会增加, 停在pm.max_children价值。 没有一个孩子的过程被杀死或重新调查,然后该网站变得没有反应。 只有重新加载或重新启动php5-fpm才能使站点处于工作状态,即进程需要手动终止。 为什么这些进程不会自动重新生成? 我怎么解决这个问题?

如何正确configurationnginx在Ubuntu 16.04上的数字海洋上使用rails

我决定在我pipe理的网站上安装最新的Ubuntu 16.04系统,这是一连串的灾难。 我有问题与MySQL服务器,我不知道是完全解决,因为有时我有MySQL连接错误。 我放弃了设置垃圾邮件的攻击。 但我希望至less可以使网站像以前一样。 我得到这些奇怪的nginx错误,我不明白。 在过去,我能够成功部署各种rails应用程序,没有大的问题。 但在这里,我绝望地卡住了。 我的大部分网站都可以正常工作,但有些链接却不行。 http://chrisbeard-images.com/photos?tag=Bridges 他们在本地开发机器上似乎没问题,而且在我重新安装系统之前完全正常。 $尾日志/ nginx.error.log给我错误,我不明白 2016/06/20 21:01:34 [info] 17909#17909: *41 client closed connection while waiting for request, client: 86.22.165.132, server: 0.0.0.0:80 $ tail log / nginx.access.log “GET / photos?tag =桥梁HTTP / 1.1”500 643“ http://chrisbeard-images.com/tags ”“Mozilla / 5.0(X11; Ubuntu; Linux x86_64; rv:47.0)Gecko / 20100101 Firefox / 47.0“ $ […]

你如何正确部署Angular应用程序?

我正在编写一个angular2应用程序,并希望将其部署在EC2实例上。 这是我目前的设置。 在服务器上使用gulp来构build打字稿和scss。 然后,我设置nginx设置一个简单的HTTP服务器来直接提供文件。 这是我在/etc/nginx/sites-available/ server { server_name subdomain.mydomain.com; access_log off; root /home/ubuntu/www/flowchart-wizard/; location / { try_files $uri /$uri /index.html; } location /* { try_files $uri /$uri /index.html; } } 在为/*添加规则之后,到目前为止,所有的工作都很好(包括路由)。 作为一个初学者,我不确定这是一个多好的设置。 我也尝试在nohup后台运行lite-server ,并使用proxy_pass在nginx中指示请求。 不过,我很快就放弃了这个想法,因为lite-server只是为了开发而已。 你的方法是什么? 我以后用我当前的设置会遇到任何问题吗? 部署angular2应用程序的最佳方式是什么?