我试图使用nginx作为websocket nodejs服务器的代理,但我总是得到502坏的网关。 我的域名configuration: upstream server { server 127.0.0.1:8090; } server { listen 8085; server_name server.cz server; ssl on; #ssl_certificate /etc/ssl/server/server.cz.pem; ssl_certificate /etc/ssl/server/server.cz.crt; ssl_certificate_key /etc/ssl/server/server.cz.key; access_log /var/log/nginx/server.log; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; proxy_pass http://server; proxy_redirect off; #WEBSOCKET proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } […]
我想阻止/拒绝所有有一个或多个非ASCII字符的请求。 例如,我收到这样的请求: /\ufffd?s=p&z=\ufffd&g=\ufffd&o=2 \ ufffd是“ replace字符 ”。 这导致我的Web应用程序给我发送错误,因为我的数据库还不是UTF-8(长话短说)。 我知道我应该解决这个问题,而不是隐藏它,但直到我这样做,阻止所有奇怪的请求到达应用程序将阻止我的邮箱填写错误。 我也知道在这个特定的网站中的所有URL不包含非ASCII字符,所以这个快速修复不会破坏任何东西。 谢谢!
这与这个问题类似,没有得到任何回应: 如何通过fcgiwrap / nginxdebuggingCGI 我如何获得perl错误自动放置在nginx错误日志中? 现在,当有任何perl错误时,错误日志中会出现以下消息: 2014/05/11 22:43:48 [error] 1730#0: *5 connect() failed (111: Connection refused) while connecting to upstream, client: localhost, server: localhost, request: "GET / HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "localhost" 这对debugging完全没用。 我可以使用像CGI ::鲤鱼QW {fatalsToBrowser},但这不是最佳的。 将它logging到服务器端文件会更好。
我在bluevm.com买了一个多年的订阅(发现了一些优惠券代码,全年只有15美元左右)来推出我的第一个Rails Production服务器。 我在Ubuntu 13.04上运行Nginx和Unicorn和MySQL。 一旦我获得了初始的服务器configuration设置,服务器将在我运行rails独angular兽时运行,并将其指向我的configuration文件,并将其作为守护程序进程运行,但随机访问它时,URL(我正在使用cloudfare for DNS)我得到一个CentOS apachetesting页面? 这导致我相信VPS出了问题(因为CentOS是他们用来托pipeVPS的),在我看到这个testing页面时,在生产或nginx日志中找不到任何可能表明问题的东西。 他们的支持说,这个问题在我身上呢? 不知道从哪里去。 不能告诉是否只是便宜的托pipe导致我的问题或什么? 服务器统计:512MB RAM 512MB swap 2GB / 25GB硬盘使用1TB带宽 我能想到的唯一的事情是,我正在得到某种DDOS攻击或者是服务器崩溃? 我试图设置ufw,但不知道它是否实际上工作(想要阻止所有stream量,除了80和4321,这是ssh运行的端口) 当我注意到服务器正在显示CentOS apachetesting页面而不是rails应用程序时,当我尝试ssh进入VPS时,出现“连接被拒绝” 我试图find一个关于build立一个VPS for Rails 4的简明指南,但找不到一个完整的综合指南,而且我不确定问题是否与我或VPS 任何投入将不胜感激!
我有一个Ruby on Rails网站,它是在一个nginx反向代理背后的独angular兽web服务器上托pipe的。 我想评估,如果使用spdy将提高我在这个设置下的performance。 具体来说,我需要下面的指示: 使用反向代理无效使用spdy的收益? 我可以使用什么性能/负载testing工具来评估使用spdy的收益? 有没有办法强制nginx只能说spdy? 关于第二个问题,我发现neoload和loadrunner 12确实支持spdy。 随着neoload我有麻烦得到它认识到我的服务器使用spdy尽pipechrome:// net-internals /#spdy和http://spdycheck.org/告诉我,它是使用spdy(我使用spdy 3.1,当我用斯马迪2 neoload确实认出它)。 随着loadrunner我还没有find一种方法来确保它是testingspdy。 我正在使用spdy_url函数,但文档不告诉我,如果spdy_url保证我在下面使用spdy。 可以肯定的一种方法是将nginxconfiguration为只能说spdy(第三个问题)。
新发展 核心php错误日志如下,但特定于站点的错误日志显示这一点。 我的php.ini文件中的内存是: memory_size 1024; 所以这不是PHP的内存限制。 我也禁用了我所有的插件,所以这不是安全插件上的内存限制。 2014/12/13 16:12:40 [error] 28264#0:* 212在stderr中发送FastCGI:“PHP信息:PHP致命错误:允许内存大小268435456字节耗尽(试图分配71字节)in / var /万维网/.. 我有一个wordpress插件运行一整批import麻烦。 当我启用nginxdebugging时,我得到这个错误。 结果是我得到一个即时的404错误后,我无法完全导入我的数据。 我很确定这是一个错误,但我找不到解决它的正确答案。 请帮忙。 我到目前为止所做的: 它看起来像一个nginx错误,我的nginx版本是旧的,所以我升级了。 不用找了。 它看起来似乎仍然可能与php-fpm有关。 我升级了 不用找了。 我禁用了所有的插件。 不用找了。 服务器 CentOS 6.0 nginx v 1.0.15 PHP-FPM v 5.3.3(fpm-fcgi) 运行3个非常低stream量站点的Web服务器 PHP-FPM被设置为ondemmand PHP.iniconfiguration: pm = ondemand pm.process_idle_timeout = 50s pm.max_children = 20 pm.start_servers = 1 pm.min_spare_servers = 3 […]
我通过这个问题尝试了我在Google中find的所有内容,但没有任何结果。 反正它不起作用。 我的NGINX默认: upstream app { server unix:/tmp/unicorn.rails.sock fail_timeout=0; } server { listen 80; root /home/rails/public; server_name _; index index.htm index.html; location / { try_files $uri/index.html $uri.html $uri @app; } location ~* ^.+\.(jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|mp3|flv|mpeg|avi)$ { try_files $uri @app; } location @app { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect off; proxy_pass http://app; } } NGINX错误日志: *12 […]
我有一个nginx 1.6.2服务器作为一个负责平衡器后端运行的SSL终止。 所有与后端服务器的通信都通过HTTP进行。 发生了什么事情的图表: /–http—> frontend:80 –\ client –+ +–http—> backend:8000 \–https–> frontend:443 –/ LOAD BALANCER BACKENDS 出于testing目的,我目前只有一个后端。 负载平衡器运行HAProxy 1.5,我有一些控制权。 我在后端nginxconfiguration的server块中有一个非常典型的try_files指令: server { server_name frontend; … try_files $uri $uri/ =404; … } 现在,默认情况下,当我访问一个没有结尾斜杠的目录时,例如https://frontend/somedir ,nginx想要发送一个HTTP 301redirect到一个绝对URL,如http://frontend:8000/somedir/ 。 我可以让nginx使用port_in_redirect off 8000端口号。 但是,我似乎无法更正redirectnginx正在生成的http://scheme的开始。 我能得到nginx的最好的办法是从https://frontend/somedir到http://frontend/somedir/ ,有效地剥离SSL! 负载平衡器正在发送一个X-Forwarded-Proto头文件,但是我没有看到nginx在制作redirect的时候可以参考它。 事实上有一个2012年的答案,说nginx彻底不能做到这一点,解决scheme是用nginxreplace负载平衡器。 恕我直言,这是太重要的事情,以保证这样一个急剧的堆栈变化。 自2012年以来有什么变化吗? 我真的不想在HAProxy级别重写这些redirect:如果我只是总是重写Location: response头的scheme与Web应用程序的HTTPredirect实际有意的HTTPS到HTTPredirect可能会“重新HTTPSed”该计划的要求是与。 编辑: 这是一个最小化的configuration,显示nginx生成绝对Location: URL。 请注意,没有重写。 user nobody nobody; […]
我正在切换到100%https的进程。 服务器正在运行nginx + libressl。 在去https:100%之前,我很想看看哪些客户端将不能连接到我的网站。 例如,因为我不支持SSL3。 我检查了nginx错误和访问日志,但没有包含有价值的信息,如果我尝试连接SSL3。 我期望看到:例如: Client [IP]: Connection failed due to protocol/cipher mismatch. 然后,我可以grep的访问/错误日志,看看有多less客户端不能再访问我的网站。 这可能吗? 目前的nginx.conf : user www-data www-data; pid /run/nginx.pid; worker_processes auto; worker_rlimit_nofile 100000; error_log /var/log/nginx/error.log; events { worker_connections 2048; use epoll; multi_accept on; } http { server_tokens off; autoindex off; charset UTF-8; include mime.types; default_type application/octet-stream; log_format main '$host […]
我试图用uwsi来使用nginx。 我写了uwsgi ini文件,并用uwsgi –ini site.ini进行testing 一切工作正常。 但是,当我尝试运行该网站时,我得到了以下错误(从日志文件): *** Python threads support is disabled. You can enable it with –enable-threads$ Python main interpreter initialized at 0x1a297d0 your server socket listen backlog is limited to 100 connections your mercy for graceful operations on workers is 60 seconds mapped 800360 bytes (781 KB) for 10 cores *** Operational […]