Articles of nginx

问题与Nginx SSLconfiguration301 http到https

我的默认服务器configuration是: # redirection http://example.org vers https//example.org # server { server_name example.org; return 301 https://example.org$request_uri; } # redirection http ou https www.example.org vers https ou https example.org # server { listen 80 default_server; listen [::]:80 default_server; listen 443 ssl http2 default_server; listen [::]:443 ssl http2 default_server; include snippets/ssl-example.org.conf; include snippets/ssl-params.conf; server_name www.example.org; return 301 $scheme://example.org$request_uri; } […]

nginx位置正则expression式:未知的“1”variables

我想制作一些可下载的video,但我的策略似乎并不奏效 location ~* ^/(this-video.mp4)(/.*)$ { alias /some/path/this-video.mp4; add_header Content-Type 'video/mp4'; if ( $2 = "/dl" ) { add_header Content-Disposition 'attachment; filename="$1"'; } } 错误: #nginx -t nginx:[emerg]未知“1”variablesnginx:configuration文件/etc/nginx/nginx.conftesting失败 # nginx -v nginx version: nginx/1.6.2 任何想法我做错了什么? 编辑 : 顺便说一句,这一个通过testing: location ~* ^/(this-video.mp4)(/.*)$ { alias /some/path/$1; add_header Content-Type 'video/mp4'; #if ( $2 = "/dl" ) { # add_header […]

Google Authenticator在Nginx上

我用ngx_http_auth_pam_module构build了Nginx,并编辑了Nginxconfiguration,并编辑了/etc/pam.d/nginx 部分虚拟主机设置 location / { root /projects/admin; index index.html index.htm; auth_pam "Google Authenticator Code Required"; auth_pam_service_name "nginx"; } /etc/pam.d/nginx auth required pam_google_authenticator.so 为什么我无法通过Google身份validation器进行授权? 请帮帮我。

非常高的平均负载导致服务器滞后

我们有一个CentOS 6.9服务器,有4个核心CPU和32GB RAM。 每天大概在同一时间,当我们终于必须重新启动服务器时,负载平均值从0.0逐渐变化到11 。 CPU :有时会尖峰,当像垃圾邮件,fail2ban这样的进程需要几秒钟的时间做些事情。 否则是1%左右。 一时之间php也占用了50%以上的CPU。 大部分时间空闲至less70%。 I/O :没有太多的I / O操作,但有时mysqld占用I / O的99.5% RAM :始终在可接受的范围内。 Bandwidth :在此期间没有太多的变化。 可接受的范围。 Disk Space :超过1TB的可用空间。 AV :冉clamd等工具,在wordpress安装中find了一些。 现在删除。 即使情况不佳,负载平均值不断增加,服务器变得太慢,我们不得不重新启动。 然后事情变得正常。 这不是一个cronjob问题,因为我也想过,因为有规律的例程,它必须是cron。 所以我使用了service crond stop并在延迟开始之前停止了几个小时。 滞后仍然发生。 在高负载平均时间内有很多进程正在运行。 有些是:多个mysqld , ../bin/suexec 501 501 php5 /bin/php ../bin/suexec 501 501 php5 , /bin/php , /fail2ban进程 我还从服务器收到许多邮件,说明System Load Alert 1 for […]

如何用rc.local启动Rails Passenger?

尝试使用rc.local启动Passenger Standalone时出现问题。 我的服务器是: Ububut 16.04 使用ServerPilot进行configuration Ruby 2.4.1从源码build立 所以现在我试图将代理转换为Passenger Standalone,但是我无法在启动时启动它。 我的rc.local脚本如下所示: #!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable […]

NGINX不正确的基本url

我有apache坐在9000然后nginx反向代理它。 在下面configuration我们 upstream lb_servers { least_conn; server 127.0.0.1:9000; server localhost:9000; } # HTTPS server # server { listen 443 ssl default deferred; server_name domain.name; ssl_session_cache shared:SSL:50m; ssl_session_timeout 5m; ssl_stapling on; ssl_stapling_verify on; root /www/; index index.html index.htm; location / { proxy_http_version 1.1; proxy_pass http://lb_servers; } } 问题是HTML回来以下 <head> <base href="http://lb_servers/" /> … </head> 如何将域名放入href而不是http://lb_servers/ ? […]

如何使用Openshift v2和nginx将根域redirect到www?

我不能将我的example.com请求redirect到www.example.com ,现在他们都是不同的网站,指向同一个应用程序。 背景: 我已经在Openshift版本上安装了使用nginx的php 7。 2使用这个 。 我为已部署的应用程序添加了两个别名,如下所示: 应用程序的URL:myapp.rhcloud.com; 域名:www.example.com 应用程序的URL:myapp.rhcloud.com; 域名:example.com 我还在CNAME中添加了以下DNS详细信息: 名称:www.example.com; 价值:myapp.rhcloud.com 名称: @; 价值:www.example.com 我的nginxconfiguration文件(erb)如下: server { root <%= ENV['OPENSHIFT_REPO_DIR'] %>/www; listen <%= ENV['OPENSHIFT_PHP_IP'] %>:<%= ENV['OPENSHIFT_PHP_PORT'] %>; server_name <%= ENV['OPENSHIFT_APP_DNS'] %>; index index.php index.html index.htm <%= ENV['NGINX_EXTRA_INDEX'] %>; set_real_ip_from <%= ENV['OPENSHIFT_PHP_IP'] %>; real_ip_header X-Forwarded-For; 这变成: server { root /path/to/my/app-root/folder/; listen 127.11.2.1:8080; […]

如何使用NGINX通知高负载和低负载

当负载非常高时,是否可以通过NGINX调用API来通知,具体取决于所configuration的阈值以及服务器处于空闲状态时负载less得多。 我的意图是build立一个服务,在这个过程中将被调用,以便在必要的时候横向 scale up系统和scale down系统。 谢谢您的回复。

如何阻止来自代理服务器的外部请求到nginx web服务器

我有nginx web服务器托pipe的web应用程序。 我想禁用从任何代理服务器到我的networking服务器(nginx)的请求。 我需要为通过代理服务器请求的人返回403。 有没有办法检查请求中的X-Forwarded-For设置,并且不允许那些来自nginx的请求? 或者任何其他方式来实现这一目标? upstream tomcat_srv { server 127.0.0.1:8080; server 127.0.0.1:8081; } server { listen 443 ssl http2; add_header X-Content-Type-Options nosniff; add_header X-Frame-Options DENY; server_name exam.test.com; ssl_certificate /etc/nginx/ssl/test/ssl-bundle.crt; ssl_certificate_key /etc/nginx/ssl/test/test.com.key; ssl_session_cache shared:SSL:10m; ssl_session_timeout 5m; ssl_prefer_server_ciphers on; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ALL:!aNULL:!KRB5:!PSK:!MD5:!ADH:!eNULL:!LOW:!EXP:RC4+RSA:+HIGH:+MEDIUM; if ($http_x_forwarded_for) { return 403; } location / { proxy_pass http://tomcat_srv; […]

来自本地系统的服务器块请求

最近我试图用围攻加载testing我的Nginx服务器。 但是当我试图加载testing我的服务器,它为一个像10个用户这样的小并发用户工作,但是当我增加了并发用户,然后我的服务器阻止来自我的本地系统约10-20分钟的请求。 当我的服务器阻止我的请求,我必须改变configuration,以允许请求相同。