我有一个Ubuntu 12.04服务器。 我已经更新了OpenSSL软件包,以修复令人心碎的漏洞。 但即使我已经重新启动了Web服务器,甚至整个服务器,我仍然很容易受到攻击。 为了检查我使用的漏洞: http://www.exploit-db.com/exploits/32745/ http://filippo.io/Heartbleed dpkg给出: dpkg -l |grep openssl ii openssl 1.0.1-4ubuntu5.12 Secure Socket Layer (SSL) binary and related cryptographic tools (launchpad.net/ubuntu/+source/openssl/1.0.1-4ubuntu5.12)
显然,我不应该花费不眠之夜试图debugging一个应用程序。 我想重新启动我的nginx,发现它的configuration文件是空的。 我不记得把它截断了,但是粗糙的手指和减less的注意力可能起到了它们的作用。 我没有该configuration文件的备份。 我知道我应该做到这一点。 对我来说很好,目前的nginx守护进程还在运行。 有没有办法将其configuration转储到configuration文件,以后会明白?
我想在nginx中创build一个规则来做两件事情: 删除“www”。 来自请求URI 如果请求URI是“http”,则redirect到“https” 有很多如何做每个单独的事情的例子,但我不能找出一个正确的解决scheme(即不创build一个redirect循环,并正确处理所有情况)。 它需要处理所有这些情况: 1. http://www.example.com/path 2. https://www.example.com/path 3. http://example.com/path 4. https://example.com/path 这些应该都在https://example.com/path(#4 )没有循环。 有任何想法吗?
我确定之前已经问过这个问题,但是我找不到一个可行的解决scheme。 一个网站已经切换CMS服务,但有相同的域,我如何设置一个页面的nginx重写? 例如 旧页面 http://sitedomain.co.uk/content/unique-page-name 新页面 http://sitedomain.co.uk/new-name/unique-page-name 请注意 ,我不希望内容页面中的所有内容都被redirect,但实际上只是上面提到的url。 我有大约9个redirect设置,其中不符合一个模式。 谢谢! 编辑:我发现这个解决scheme,似乎工作,除了它没有斜线redirect的事实: if ( $request_filename ~ content/unique-page-name/ ) { rewrite ^ http://sitedomain.co.uk/new-name/unique-page-name/? permanent; } 但是这redirect到: http://sitedomain.co.uknew-name/unique-page-name/
有很多关于如何编写Nginx重写规则来模仿Apache的.htaccess文件的教程 ,但是我不能自信地说我知道这个所谓的Nginxconfiguration文件实际上是什么名字或位置。 我正在寻找Nginx的configuration文件,允许你写服务器path和PHP指令。 我使用Ubuntu 12 Linux和Codeigniter作为我的PHP框架。 以下是我所知道的: 这个文件: /etc/nginx/nginx.conf尽pipe它的诱人的名字显然不是服务器指令的地方。 这个文件: /etc/nginx/sites-available/default看起来像我所需要的(我能够生成特定于我的应用程序的PHP错误),但我无法获得正确的Codeigniter特定的path路由。 首先,这是“configuration”文件/ .htaccess相当于每个人都谈到?
每当我尝试上传一个大文件时,我的日志文件中出现以下错误。 a client request body is buffered to a temporary file /var/lib/nginx/body/0000000001 虽然file upload成功,我总是得到上述错误。 我增加了client_body_buffer_size到1000m这是我所期望的最大的file upload。 然而,这只是一个猜测,虽然我不明白这个错误,我想知道这是否是一个适当的值设置client_body_buffer_size ? 如果有人能够指出这一指令以及如何使用,我将不胜感激。
我想要做的是, 当有人访问http://localhost/route/abc ,服务器响应与http://localhost:9000/abc完全相同 现在我configuration我的Nginx像这样: location /route { proxy_pass http://127.0.0.1:9000; } http请求正确调度端口9000 ,但是它接收的path是http://localhost:9000/route/abc而不是http://localhost:9000/abc 。 任何build议?
我有一台服务器工作正常,直到2013年10月3日上午10点50分,当它开始间歇地返回“502坏门户”错误到客户端。 5个浏览器请求中大约有4个成功,但是大约有5个失败,502个。 nginx错误日志包含数百个这些错误; 2013/10/05 06:28:17 [error] 3111#0: *54528 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 66.249.66.75, server: www.bec-components.co.uk request: ""GET /?_n=Fridgefreezer/Hotpoint/8591P;_i=x8078 HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "www.bec-components.co.uk" 但是,PHP错误日志不包含任何匹配的错误。 有没有办法让PHP给我更多关于为什么重置连接的信息? 这是nginx.conf ; user www-data; worker_processes 4; error_log /var/log/nginx/error.log; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; access_log […]
我最近一直在调查Apache和Nginx之间的差异,并对我应该select哪一个感到困惑。 我已经做了一些探索,但两者之间没有明确的比较,我想知道这里的人是否可以就两者之间的分歧发表意见。 我目前的知识让我明白,mod_php比fastcgi更快,更安全,但是在同时连接和内存消耗方面,Apache更糟糕。 我的网站正在使用大量的长时间轮询,但有一个非AJAX的网页基础(即Apache长期轮询顶部)。 我对Apaches内存问题的原始解决scheme是通过node.js发送长轮询,然后让node.js每2秒访问Apache,在这种情况下Apache不会有打开的连接,而是node.js会。 我已经意识到这可能不够好,正在寻找不同的解决scheme。 我仍然对我最初的想法是否有效感兴趣。 那么现代网站哪个更好? Apache还是Nginx? 更新:所有的build议是好的和有效的。 我已经与原来的第二个想法是使用一个完整的Nginx服务器。 我很满意,作为一个专用的服务器,我不能忍受fastcgi的安全问题,并且由于我的长轮询脚本需要用PHP编写,我需要一个能够处理高负载同时连接的服务器,而Apache无论如何也不能这样做我改变了结构,它仍然是饥饿的内存。 我已经标记了Martin F的答案,因为他对我的问题提出了一个清晰而完整的答案,我觉得他应该得到这个评价,但是,这三个答案都是好的和有效的,并且肯定会考虑将反向代理用于我自己的另一个站点因为我刚刚发现Nginx可以在代理中做的非常非常非常酷的事情。 谢谢,
我们已经在nginx和passenger上部署了我们的rails应用程序。应用程序间歇地加载页面部分。应用程序日志中没有错误。但nginx错误日志显示如下: 2011/02/14 05:49:34 [crit] 25389#0: *645 open() "/opt/nginx/proxy_temp/2/02/0000000022" failed (13: Permission denied) while reading upstream, client: xxxx, server: yyyy, request: "GET /signup/procedures?count=0 HTTP/1.1", upstream: "passenger:unix:/passenger_helper_server:", host: "yyyy", referrer: "http://yyyy/signup/procedures"