我试图用nginx代理一个带有参数的请求到shoutcaststream。 我已经尝试了一些事情,但似乎无法得到正确的工作。 首先是这个 location /music/ { proxy_pass http://dest.server.net/$1$is_args$args; } 这导致了以下日志: 2015/02/25 17:37:32 [error] 12183#0:* 1 no resolver defined to dest.server.net,client:1.2.3.4,server:myserver.org,request:“GET / full / path /1/foo/bar.pls?p1=1&p2=2 HTTP / 1.1“,主机:”myserver.org“ 当我添加一个parsing器: location /music/ { resolver 8.8.8.8; proxy_pass http://dest.server.net/$1$is_args$args; } 它似乎没有尝试代理请求: 2015/02/25 17:42:34 [error] 12106#0:* 3 open()“/full/path/1/foo/bar.pls”failed(2:No such file or directory),client:1.2 .3.4,server:myserver.org,请求:“GET /full/path/1/foo/bar.pls?p1=1&p2=2 HTTP / 1.1”,主机:“myserver.org” 如果需要在我的服务器上访问完整的path/参数,那么只需要将它们传递给真实的服务器即可。 任何build议,使这项工作?
这是我的整个nginx.conf文件 worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { server_name subsonic.domain.com; location / { proxy_pass http://localhost:4040/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_pass_request_headers on; } } # server { # server_name perforce.domain.com; # location / { # proxy_pass http://localhost:1666/; # proxy_set_header Host $host; # […]
我在我的系统中使用NGINX作为一个组件接受来自客户端的内容stream(可以说,通过RTMP),并将其传递给一些内部服务进行处理。 内部服务通过HTTP从NGINX获取内容。 但是我不希望等到客户端完成所有内容的stream式处理之后才开始处理,所以我希望内部服务在第一个字节可用时立即开始获取内容 – 问题是如果客户端数据stream比NGINX的内部服务速度要慢(总是这样),NGINX到达当前文件结束并停止服务内容。 有没有办法让NGINX开始提供最终大小未知的文件(显然是使用Transfer-Encoding:chunked),并且在所有(尚未提供的)数据都被发送之前不终止连接? 我尝试了服务于FIFO的内容,但NGINX只是忽略了返回404 Not Found的FIFO。 我也看过NGINX HLS模块,但似乎要求文件是MPEG-4格式,这不适用于我的使用情况。
我是一名networking开发人员,我正在与其中一个网站工作,我希望有人能帮助我。 该网站运行在CentOS 6.6专用服务器上,CentOS 6.6是一个以Vesta作为控制面板的Nginx + Apacheconfiguration。 我不确定这里是否非常相关,但是网站使用Sphinx作为search引擎。 从一月中旬开始,每6天一次,服务器崩溃,每次都在不同的时间。 恢复通常需要大约一个小时15分钟的时间,在这期间任何日志文件中都没有条目。 在服务器恢复之后,MySQL数据库中最大的两个表中的两个会引发重复键错误,并且由于它们太大而无法足够快地修复,我通常会截断它们,然后从备份中恢复它们。 我检查了所有的日志,我找不到有关崩溃的任何提示/相关信息。 所有日志包含正常的条目,直到崩溃时间,然后恢复服务器恢复后。 我检查了所有用户的cron,并且没有每六天运行一次。 崩溃之前的CPU和内存使用率非常低:1.6%的CPU和16.5%的内存,这是服务器上的通常负载。 大概一个星期,我怀疑Vesta备份cron与此有关,因为它始终保持内存使用率在74%,即使在运行完成之后,但我禁用了它,除了内存使用量的减less外,坠机事件仍在。 你有什么build议,我可以做什么来确定罪魁祸首? 我已经跑出了想法。 谢谢! PS:如果您需要我提供其他信息,请让我知道!
我和Nginx一起度过了一个糟糕的一天。 我正在使用Nginx反向代理,因为我要在同一个VPS上托pipe多个Node.js应用程序,但我找不到将非www域redirect到其各自的www的方法。 我正在使用conf.d文件夹中的configuration… 这是我的colscript.mx.conf server { listen 80; server_name colscript.mx; return 301 $scheme://www.colscript.mx$request_uri; } server { listen 80; server_name www.colscript.mx; location / { proxy_pass http://localhost:3000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } } 当我通过colscript.mx访问网站时,我可以访问网站,但是当我使用www.colscript.mx时,我得到一个服务器未find错误。 有人可以帮我弄这个吗?
我试图用nginx在Debiannetworking服务器上执行TCP SYN泛洪。 在洪泛时执行tcpdump "tcp[tcpflags] & (tcp-syn) != 0" ,我看到所有的数据包都来了。 iptables似乎很好地处理从原始套接字生成的SYN数据包,但与hping3 178.33.123.111 –flood -S -L 0 -p 80攻击不hping3 178.33.123.111 –flood -S -L 0 -p 80 。 请问,你能build议iptables规则logging和放弃这个攻击吗?
我inheritance了一个Web服务器,我试图build立一个子域名。 我们在同一台服务器上有其他子域名,他们工作正常,但是当我把完全相同的信息放到configuration文件中时,它不起作用。 它所做的就是将我redirect到www。 我抄袭的configuration看起来像这样: server { server_name sub1.example.com; root /mnt/webfiles/Web/sub1; index index.html index.htm index.php; access_log /var/log/nginx/sub1.access.log; error_log /var/log/nginx/sub1.error.log; include /etc/nginx/custom/common.conf; include /etc/nginx/custom/vhost-php.conf; } 很好用。 用户访问http://sub1.example.com并查看/ mnt / webfiles / Web / sub1中的所有文件。 我build立了一个新的子域名,用户立即被反弹到www.example.com server { server_name sub2.example.com; root /mnt/webfiles/Web/sub2; index index.html index.htm index.php; access_log /var/log/nginx/sub2.access.log; error_log /var/log/nginx/sub2.error.log; include /etc/nginx/custom/common.conf; include /etc/nginx/custom/vhost-php.conf; } 我真的不在乎用户是否被redirect到www.example.com/sub2,或者如果他们的浏览器仍然显示sub2.domain.com。 无论什么作品。 我在其他地方发现了这个,但没有成功(仍然让我反感到www): […]
我有一个tomcat实例服务请求,我有nginx作为这个tomcat实例的反向代理。 当我更新我的Java应用程序,大约需要10秒。 但是那些10秒的网站已经closures,nginx返回HTTP 503页面。 我希望nginx做的是:暂停所有传入的连接,直到后端启动。 然后开始为他们服务。 理想情况下做一些智能检查,例如“/”返回HTTP 200.在我看来,最好等待10秒,比看HTTP HTTP页面。 我不想为此集群。 我使用应用内caching,而我的Web应用程序远离高负载。 集群会引入很多我不想花费时间的问题。 我使用下面的指令连接到tomcat: proxy_pass http://127.0.0.1:8080;
免责声明:我已经阅读了大量的post在这里,在stackoverflow和其他网页,我不能拿出一个解决scheme,所以希望这会有所帮助。 我们使用nginx和HAProxy在Passenger上运行Rails应用程序。 乘客:4.0.7 Nginx:1.4.1 该应用程序运行良好,但时常,请求花费太长的时间完成: #nginx access.log xxxx – – [19 / Mar / 2015:01:07:19 +0100]“GET / HTTP / 1.0”499 0“ – ”“runscope-radar / 2.0” 请求花费很长时间才能完成,nginx返回一个499,HAProxy将其转换为504.大约30分钟后,服务器恢复正常,但错误不断重现。 我很确定它与HAProxy没有任何关系,因为卷到机器上的本地主机也会返回超时。 服务器上没有什么特别的东西(根据htop,4核心的CPU使用率从来没有超过10%,从8GB到大约只有1GB,loadavg一直在0.1以下)。 我将ulimit设置为65535。 nginx的configuration文件是: user www-data www-data; worker_processes 1; worker_rlimit_nofile 20000; events { worker_connections 768; } http { passenger_root /opt/passenger/passenger-4.0.7; passenger_ruby /usr/bin/ruby1.8; include mime.types; default_type application/octet-stream; sendfile on; tcp_nopush […]
我有一个SSL证书只适用于example.com(不适用于子域名),因此想要将http://example.com和http://www.example.comredirect到https://example.com nginx的。 我的configuration文件启动如下: server { # This should catch all non-HTTPS requests to example.com and *.example.com listen 80; server_name example.com www.example.com; access_log off; return 301 https://example.com$request_uri; } server { listen 443 ssl; # Actual server config starts here… 但是,redirect不能按要求运行。 请求http://example.com正确导向到https://example.com ,但http://www.example.com将被redirect到https://www.example.com ,由于我的证书产生SSL错误对子域无效。 我知道没有可能从无效的HTTPSredirect到有效的HTTPS,但我至less希望实现从HTTP到HTTPS的redirect,因为用户仍然倾向于inputwww。 在浏览器中。 当我wget –spider www.example.com ,它返回正确的结果: Spider mode enabled. Check if remote file […]