Articles of nginx

PHP应用程序在Nginx上打破了,但在Apache上工作

我想将一个PHP应用程序从Apache迁移到Nginx。 问题是,应用程序中断,因为路由不再工作,我不知道如何解决它。 PHP应用程序包含一些.htaccess文件,我试图将它们转换为Nginx。 第一个是在文档根目录下: <IfModule mod_rewrite.c> RewriteEngine on RewriteRule ^$ public/ [L] RewriteRule (.*) public/$1 [L] </IfModule> 第二个是在/ public / <IfModule mod_rewrite.c RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d # Rewrite all other URLs to index.php/URL RewriteRule ^(.*)$ index.php?url=$1 [PT,L] </IfModule> <IfModule !mod_rewrite.c> ErrorDocument 404 index.php </IfModule> 第三个也是最后一个是: deny from all 我的nginx版本如下所示: #user nobody; […]

nginx反向代理securitymetrics警告

您好,我们从安全度量指标PCI complience扫描得到这个警告。 有没有解决这个问题? TCP 80 http 描述: HTTP反向代理检测 摘要:此端口上运行透明或反向HTTP代理。 影响:此Web服务器可通过反向HTTP代理访问。 收到数据:通往此Web服务器的途中可能有一个高速caching代理:来自后端的HIT 解决方法:不适用 风险因素:中/ CVSS2基础评分:5.8 (AV:N / AC:M / Au:N / C:P / I:P / A:N)CVE:CVE-2004-2320其他CVE:CVE-2007-3008 CVE-2005-3498 CVE-2005-3398 [减]

为max-age = 0请求configurationnginx

我使用nginx作为proxy_cache的反向代理。 后端是设置cache-control响应头,这使得nginx在可能的时候提供来自caching的响应。 不过,我希望允许客户端通过设置请求标头Cache-Control:max-age=0来绕过caching。 这样用户可以通过在浏览器中点击CTRL+R来获得新的副本。 默认情况下,nginx似乎忽略Cache-Control请求头。 如何configurationnginx从后端获取全新副本,并在客户端使用Cache-Control:max-age=0请求资源时更新caching?

使没有扩展名的文件通过nginx上的PHPparsing器

由于遗留的原因,我需要得到下面的情况在nginx上工作,我似乎在挣扎。 假设我在文件根目录中有一个名为'info'的文件,没有任何文件扩展名。 现在这是一个PHP文件,但它没有扩展名,并且因为我不会在这里解释的原因而不能重命名。 我将如何编写一个nginxconfiguration文件来parsingPHP文件。 我实际上已经尝试将这个文件重命名为info.php,然后将以下内容添加到我的nginxconfiguration中,然后尝试打击http://{siteurl}/info期望它在内部重写到info.php ,但所有做到了index.html 。 location / { try_files @extensionless-php $uri $uri/ /index.html; } location @extensionless-php { rewrite ^(.*)$ $1.php last; } 现在我对nginx很陌生,所以我认为我只是缺less一些非常基本的东西。 以前在Apache的configuration是这样的,让这种情况下工作… <LocationMatch "^/(info|…a few other files…)/?.*$"> ForceType application/x-httpd-php </LocationMatch> 任何帮助深表感谢。

设置子域在Amazon Ec2上

在ec2我有父域如somedomain.com 。 我想在EC2上设置一个子域名,这个子域名目前正在托pipesomedomain.com – 一个像account.somedomain.com这样的子域名 somedomain.com正在运行nginx,其中一个启用了站点的configuration: server { listen 80; server_name *.somedomain.com; root /home/ubuntu/virtualenv/somedomain/somedomain/homelaunch/; access_log /home/ubuntu/virtualenv/somedomain/error/access.log; error_log /home/ubuntu/virtualenv/somedomain/error/error.log warn; connection_pool_size 2048; fastcgi_buffer_size 4K; fastcgi_buffers 64 4k; location /static { alias /home/ubuntu/virtualenv/somedomain/somedomain/homelaunch/static/; } location / { proxy_pass http://127.0.0.1:8001; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_read_timeout 10; proxy_connect_timeout 10; add_header P3P 'CP="ALL DSP COR PSAa PSDa OUR […]

nginx负载均衡不会忽略非工作ip

Iam新的nginx和我有这个问题,我不明白。 Iam使用nginx作为负载均衡器到三台云服务器。这是nginx的configuration: upstream dummyname { server #.#.#.# weight=1; server #.#.#.# weight=1; server #.#.#.# weight=1; } server { listen 80; root /var/www/html; try_files /maintenance.html $uri $uri/index.html $uri.html @proxy; server_name localhost; location @proxy { proxy_pass http://dummyname; } } 我的问题出现了,当我在上游销毁其中的一个ip时,我开始出现这个错误: ERROR The requested URL could not be retrieved The following error was encountered while trying to retrieve the […]

带有ssl的Nginx总是返回301

我正在尝试使用ssl来设置nginx,以便为某些静态HTML和某些Python脚本的输出(通过uwsgi)提供服务。 它对HTTP工作正常,但是我不能使它在HTTPS上运行,因为nginx正在返回一个“301 Moved Permanently”问题的URI(即,即使对于那些不存在的)。 我目前正在使用自签名证书,我的想法是强制HTTPS连接。 我究竟做错了什么? 它看起来像一个nginxconfiguration问题? ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; server { listen 443 ssl; server_name myserver.com; ssl_certificate /srv/ssl/nginx.pem; ssl_certificate_key /srv/ssl/nginx.key; location / { rewrite ^ https://$server_name$request_uri? permanent; } } (obviusly, myserver.com代表实际的服务器名称)。 编辑 :错别字。

Nginx上传

我一直在阅读这个链接: http : //blog.martinfjordvald.com/2010/08/file-uploading-with-php-and-nginx/ (博客的post反复从官方的Nginx站点链接),它说: 每次Apache接受上传时,这些进程中的一个将在上传期间忙碌。 现在我承认我是Nginx的noob,但是也不会承受这样一个问题:在上传的时候会使用自己的工作人员,好吧,这不是一个带有RAM /它随之而来的CPU问题,但它仍然是有限的(即x连接数),对不对? 我不确定在这里使用Nginx的好处是相当的解释。 Nginx的文档本身并不是非常清楚它究竟是如何真正处理请求的,所以如果我对Nginx的工作有些不可思议的错误,那么我希望有人会修复它,而不是downvoting。

无法导入sql或xml文件

我最近把一些我的网站从共享主机移到了VPS。 当我通过Wordpress导入工具通过phpmyadmin或xml文件导入SQL文件时,出现错误,提示“连接已重置”。 谁能帮我这个。 我已经对php.ini文件进行了更改。 文件位置:/etc/php5/fpm/php.ini我已经更改 – max_execution_time = 8000 max_input_time = 8000 post_max_size = 8G upload_max_filesize = 2G除此之外的任何东西。

源代码安装在“非标准”目录中的后果

我从源代码自己编译和安装了很多程序。 因为我有一个工作安装的Apache + PHP,但想尝试Nginx + PHP-FPM我想安装这些非标准的位置,如/ nginx和/ php-fpm 除了可执行文件不在PATH中(但可以解决这个问题),还有什么其他的问题或后果呢?