Articles of nginx

无法增加nginx服务器上的WordPress内存限制

我想增加我的nginx php-fpm服务器的内存限制WordPress的。 具体来说WordPress的插件WooCommerce需要更多的可用内存。 我已经在wp-config.php中设置了以下内容… define('WP_MEMORY_LIMIT', '128M'); define('WP_MAX_MEMORY_LIMIT', '128M'); php.ini有以下… memory_limit = 128M ;suhosin.memory_limit = 0 fpm服务器也设置改变这个。 php_admin_value[memory_limit] = 128M 然而WooCommerce的系统状态仍然声称它只有40MB,这怎么可能? 我相信这可能是suhosin,但我不确定如何在OpenBSD服务器上进行更改。 我试着在php-fpm服务器池的设置中改变它。 php_admin_value[suhosin.memory_limit] = 128M 如果有人能告诉我如何改变OpenBSD服务器的限制,那将是非常好的。

Nginx SSL证书

我从authentication服务处收到两个文件:CSR.txt:看起来像这样: —–BEGIN CERTIFICATE REQUEST—– Code —–END CERTIFICATE REQUEST—– 和Private_Key.txt具有相同的格式我试图在Nginx上设置它们,但是当我重新启动Nginx时我总是收到这个错误 failed (SSL: error:0906D06C:PEM routines:PEM_read_bio:no start line error:140DC009:SSL routines:SSL_CTX_use_certificate_chain_file:PEM lib) 我已将CSR.txt重命名为domain.crt,将private_key.txt重命名为domain_key.key我的nginxconfiguration: server { listen 443; server_name domain.com; root html; index index.html index.htm; ssl on; ssl_certificate /etc/ssl/certs/domain.crt; ssl_certificate_key /usr/share/nginx/www/domain.com/domain_key.key; ssl_session_timeout 5m; ssl_protocols SSLv3 TLSv1; ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv3:+EXP; ssl_prefer_server_ciphers on; location / { try_files $uri $uri/ =404; } }

完全隐藏nginx服务器响应头

我无法隐藏我的服务器头(nginx 1.2.1)。 我已经google'd它,似乎我所要做的就是server_tokens off; 在nginx.conf中。 但是这样做只能删除版本号,但是它仍然显示nginx作为服务器。 我看到有一个名为HttpHeadersMoreModule的模块,但我不需要所有那些奇特的选项。 我只想隐藏标题。 我怎样才能完全手动隐藏标题?

使用单个nginx服务器来服务/代理PHP,Python和NodeJS

我想弄清楚如何使用Nginx作为代理服务PHP(通过PHP5-FPM),Python(通过gunicorn)和NodeJS。 我在网站可用目录中的当前默认文件复制如下。 我应该尝试configuration多个服务器还是进行其他更改才能启用此function? 提前致谢。 更新:目前,使用当前的configuration,Nginx作为NodeJS应用程序的代理。 但是,它不再提供PHP内容。 我应该在默认文件中使用不同的服务器吗?如果是这样,我应该能够使用相同的侦听端口,但只是使用不同的server_name,并使用位置标记来区分请求? 我试图将某些URL请求路由到一个PHP应用程序(在/ var / www – 我从/ usr / share / nginx切换)以及Python和Nodejs后端。 有一个想法,我没有实现是尝试多个上游,并在主服务器的PHP设置 – 这将工作,即有一个上游的NodeJS,一个用于Python,然后是PHP的服务器。 upstream test { server 0.0.0.0:3002; keepalive 500; } server { listen 81 default_server; listen [::]:81 default_server; ##remove this? root /var/www/; ##switched from /usr/share/nginx index index.php index.html index.htm; server_name localhost; location / { proxy_redirect off; […]

configuration根ssl证书

我想为域安装SSL证书。 所以我search了一下,做了一些研发,发现这个链接https://www.symantec.com/page.jsp?id=roots 。 它说我们可以免费下载和使用。 所以我已经下载了pem文件。 现在我需要在nginx服务器上进行设置。 所以现在我有了Pem文件,但没有CSR密钥。 如果我生成并使用自签名的私钥,可以吗? 如果我使用这个,会有什么问题吗? 任何浏览器相关的问题 由于我第一次configuration一个ssl证书,我完全不清楚如何去做。 请分享你的经验? 提前致谢。

Nginx严禁从上游处理404

在我的设置中,我有一个nginx服务器作为我的tomcat应用程序服务器的反向代理。 我使用proxy_pass连接到tomcat上游.. location /test { proxy_pass http://upstream1/webapp1/gateway } 现在,如果有人向我的nginx服务器http://myserver.com/test.jsp发起请求,这个请求也会被testing位置处理并传递给tomcat实例。 tomcat实例返回一个404,但是nginx没有处理这个404请求。 (我已经在nginx级别定义了404页面),而是浏览器直接从tomcat显示页面(包括tomcat版本信息和全部)。 我怎样才能阻止这个 我不想公开我的应用程序服务器的详细信息。 提前致谢

在全新安装nginx和ROR后,“768 worker_connections是不够的”错误

我有一个新的安装Nginx和ruby的轨道上。 但是在testing时,它给了我一个'500内部服务器错误'。 我的应用程序的error.log有以下内容: 2014/05/01 17:27:15 [alert] 1423#0: *6892 768 worker_connections are not enough while connecting to upstream, client: 24.15.27.113, server: example.com, request: "GET / HTTP/1.0", upstream: "http://24.15.27.113:80/", host: "myapp" 2014/05/01 17:27:16 [alert] 1423#0: *7656 768 worker_connections are not enough while connecting to upstream, client: 24.15.27.113, server: example.com, request: "GET /favicon.ico HTTP/1.0", upstream: "http://24.15.27.113:80/favicon.ico", host: "myapp" […]

如何让Nginx从错误的域中删除SSL请求?

所以我有一个服务器与一个单一的IP和许多网站,所有托pipe在Nginx下。 这是我的实际设置的一个非常简化的减less: server { listen 80; listen 443 ssl; server_name ssl.example.com; #… } server { listen 80; server_name nossl.example.com; #… } 如果我连接到ssl.example.com:443一切正常,如预期的那样。 如果我连接到nossl.example.com:443 ,它会尝试提供ssl.example.com:443的内容。 为什么会发生这种情况呢 (这是ssl + nginx与虚拟服务器的最佳匹配),我只需要停止从错误的站点发送内容即可。 没有为我的所有网站购买证书(或自行发行),或将SSL网站推到自己的IP上,我的select是什么? nginx可以检查每个SSL请求的域名并确保它匹配server_name吗?

如果我得到一个无效的公钥错误是否意味着我有一个不正确的安装证书

我已经创build了一个API(在nginx服务器上运行,让我知道是否有任何细节,你认为是相关的),当他们尝试调用我的服务时收到这个错误: Notice: SSL certificate problem: self signed certificate in certificate chain in /usr/local/zend/apache2/htdocs/PefcSCS/components/ \ com_pefcscs/views/simplesearchs/tmpl/default.php on line 9 我无法重现此错误,并且没有自签名证书。 在日志中查看我有: $ sudo tail -n 100 /var/log/nginx/error.log 2014/05/04 07:17:09 [crit] 24027#0: *844 SSL_do_handshake() failed (SSL: error:05066066:Diffie-Hellman routines:COMPUTE_KEY:invalid public key error:1408B005:SSL routines:SSL3_GET_CLIENT_KEY_EXCHANGE:DH lib) while SSL handshaking, client: xx.169.xx.141, server: 0.x.0.x:443 其中说: invalid public key error 。 这是否意味着他们提供了一个无效的公钥? […]

防止对Nginx服务器的SSL访问

我有一台运行多个虚拟主机的服务器。 其中一些网站具有SSL组件,而其他网站则没有。 今天我注意到,如果我尝试通过https访问其中一个非SSL站点,Nginx会发现一个虚拟主机, 它使用SSL并尝试呈现它 – 在此之前给出熟悉的“不可信”警告。 我已经尝试了几种解决scheme,但都没有工作,我已经用尽了我的Nginx知识和/或阅读理解。 理想情况下,我想看到一个404错误,如果一个网站是通过它不支持的协议访问。 我尝试了各种编辑到default服务器块,但没有工作。 我也尝试捕获和redirect端口443访问该特定的网站,但(可预测)也失败了。 有人能指出我正确的方向吗?