我们从Thawte获得了一个通配符证书,这对于https://example.com是无效的。 因此,我们希望将所有来自https://example.com的请求转发到https://www.example.com,而不会收到证书错误。 这在nginx中可能吗? 我的configuration: server { listen 80; server_name example.ch www.example.ch api.example.ch; if ($host = 'example.ch' ) { rewrite ^/(.*)$ https://www.example.ch/$1 permanent; } rewrite ^ https://$server_name$request_uri? permanent; } server { listen 443; if ($host = 'example.ch' ) { rewrite ^/(.*)$ https://www.example.ch/$1 permanent; } ssl on; ssl_certificate /etc/nginx/ssl/example.crt; ssl_certificate_key /etc/nginx/ssl/example.key; server_name example.ch www.example.ch api.example.ch; … }
我有这样的configuration: – nginx端口80 – 清漆(3.0.4)端口6081 – apache端口8080 Nginx将请求传递给Varnish,然后检查caching,然后从caching中返回响应或将请求传递给Apache。 在Apache中,我禁用了mod_deflate,所以输出没有被压缩。 里面的清漆我已经启用了ESI这样的所有请求: sub vcl_fetch { set beresp.do_esi = true; } 我的testing文件(test.php)如下所示: Current time is: <esi:include src="/date.php" /> date.php: <?php echo date('H:i:s'); 但清漆是加工esi包括。 在varnishlog我得到这个错误: 11 ESI_xmlerror c No ESI processing, first char not '<' 来自test.php的响应标题: Accept-Ranges:bytes Age:3 Connection:keep-alive Content-Length:51 Content-Type:text/html Date:Sun, 01 Sep 2013 11:51:57 GMT Server:nginx Surrogate-Control:"ESI/1.0" […]
我正在使用Nginx来反向代理一个nodejs实例,当一个外部服务试图调用一个特定的,安全的api端点时,这个实例会超时,产生504个错误。 如何设置Nginx通知我(即通过电子邮件)当它服务于504? 由于有问题的api端点是安全的,并且依赖于传递的特定信息,所以通用监视解决scheme将不起作用。 我很惊讶,我没有find任何明确的信息后,如何做到这一点,谷歌search15分钟后。 谢谢。
我在同一个ubuntu盒子上运行一个networking服务器和streamvideo服务器。 我有箱子上的资源来处理所有事情,时间可能会使用两个盒子,但我现在不想要两个盒子的开销。 我想运行两个版本的nginx,一个是编译的rtmp模块,一个是out的。 我之所以这样做,是因为我使用HLS设置进行了很多调整,并添加了各种选项等,并且需要重新启动nginx才能使更改生效。 我不希望重新启动与托pipe的网站nginx。 我可以安全地在两个地方安装nginx吗?
没有用户遇到错误(请求被拒绝或退出),将configuration更改应用于Nginx的最佳方式是什么? 我已经搜遍了互联网,没有一个地方可以对这个过程给出明确的答案。
我试图写一个nginx规则,使www.domain.com/media/*redirect到media.domain.com/* 我尝试过这样的: location /media { rewrite ^ $scheme://media.domain.com$request_uri redirect; } 但它redirect到media.domain.com/media/我怎样才能删除最后一个/媒体/文件夹?
我们有一个SSL卸载程序(nginx),针对不同的机器和子域使用不同的证书。 它encryption和redirect到相应的机器的所有stream量。 它适用于我已经尝试过的所有浏览器(IE10,Firefox,Safari,Chrome),但是IE8认为证书是无效的,因为它是为另一台机器签名的。 说明:我们只有一个公共IP,所以我们有不同的子域指向SSL卸载机。 SSL卸载程序根据用户请求的URLredirect和encryption本地networking中不同机器的stream量。 问题是IE8按字母顺序取第一个子域名,所以如果你要求第一个子域名,那说明证书是无效的,因为de fqdn不匹配。 提前致谢。
我们有一个基于Imagemagic的Code Igniter写的PHP图像api。 我们有nginx / php-fpm背后的api。 我们知道Imagemagic部分很重,但是我们试图使整体吞吐量越来越高。 我们已经完成了30多篇有关Nginx的优化文章。 我们能够通过大多数文章和进行TCP优化来将输出从300个请求/分钟增加到350个请求/分钟。 由此我们严重影响了服务器的加载时间。 没有平均的负载我可以告诉你,因为这是一个新的盒子,它是基于Nginx的。 我们在过去的Apache工作人员(不到300请求/分钟)。 现在有350req / m,我们有20的AVG负载。这是太多了,我们正在寻求改善。 当我们使用htop来调查进程时,通常我们会看到大约20个使用全部16个CPU的php-fpm进程,内存在24GB中有2GB。 我们旨在大幅降低系统负载。 我希望有经验的用户分享他们的知识在哪里看,尝试什么。 我会张贴你要求的任何号码,但是我不想在开始的时候把这个post填满。 你将如何继续减less系统负载,但仍然保持吞吐量。
我要把我的头发拉出来! 我有一个网站domain.com与以下虚拟主机configuration/ etc / nginx / sites-available / domain : server { listen 80; server_name www.domain.com; return 301 $scheme://domain.com$request_uri; } server { listen 80; server_name domain.com; root /var/www/wordpress; index index.php index.html; location / { try_files $uri $uri/ /index.php?$args; } location = /favicon.ico { log_not_found off; access_log off; } location = /robots.txt { allow all; log_not_found […]
场景: 创build一个随机文件(在这种情况下为1024M) dd if=/dev/zero of=file bs=1M count=1024 启动下载( curl src > /dev/null ) 从服务器上删除文件 curl仍然下载100%, 1024M 如果文件在服务器上被删除,这怎么可能? 服务器有512M RAM, 没有 SWAP,文件不能全部读到RAM。 因此,它必须在某个时候从磁盘读取。 但是,文件在下载过程中已经停止了,那么nginx怎么还让人继续下载呢?