Articles of nginx

在nginxconfiguration中使用尾部斜杠

location /product { proxy_pass http://10.0.0.25:8080; } 如果我使用我的产品文件夹的第一个位置说明,我应该使用http://mysdomain.com/product/ ,我不能从浏览器使用http://mysdomain.com/product 。 我的意思是我应该使用URL的斜线结束。 我想用两个stuation访问产品文件夹。 这是否有区别: location /product/ { proxy_pass http://10.0.0.25:8080; }

什么决定了Nginxconfiguration中服务器块数量的实际限制?

我试图找出是否只包含简单服务器块的Nginxconfiguration是可行的。 每个块提供一个子域名,并将子域名引导到另一个URL。 当然,具体情况下的最大值取决于参数,所以我对确定实际极限的因素更感兴趣。 例如,额外的服务器块的额外成本(内存开销)总是不变的? 调度到特定的服务器块来处理请求一个常量的成本,还是configuration中的服务器块的数量的函数? 一个示例服务器块将是: server { server_name subdomain.example.com; return 301 http://some.other.example.org/subdomain; } 例如,每个内核的每GB内存或其他相关参数有多less个? 谢谢。

proxy_cache_和fastcgi_cache有什么区别?

我正在寻找一个简单的Nginx microcache解决scheme,最终我看到了两种微caching的方法。 一些教程使用proxy_cache,而另一些使用fastcgi_cache。 这两个解决scheme有什么区别,优缺点? 谢谢!

Nginx:expires标题变为404

我遇到了expires标题的问题。 当我设置到期并通过浏览器访问文件时,它变成Not Found 404。 这是我在nginx.conf中的虚拟服务器设置 server { listen 80; server_name blgourl.com www.blogourl.com location / { root /data/file/static/blogourl; index index.html index.htm index.php; } location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico)$ { expires 30d; add_header Pragma public; add_header Cache-Control "public"; } location ~* \.php$ { ssi on; root /data/file/static; fastcgi_param HTTP_USER_AGENT $http_user_agent; fastcgi_index index.php; #fastcgi_pass 127.0.0.1:9000; #fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; fastcgi_pass unix:/var/run/php-fpm.sock; include […]

如何解决nginx反向代理混合内容(http,https)

新的nginx。 玩了2天,不知道如何解决这个问题: 我有一堆虚拟机运行在一个盒子里,这个盒子显然是在我的路由器后面,其中一个虚拟机正在运行nginx(我的反向代理)并被设置为DMZ。 我已经在该虚拟机上正确安装了SSL证书,现在我希望所有传入的stream量都按照它们的path定向,例如: domain.com/service1->192.168.1.101 domain.com/service2->192.168.1.102 等等。 想法是让nginx作为SSL层,nginx通过HTTP或任何未encryption的协议与其他VM通信。 当然,当nginx与客户端交谈时,这些消息应该被encryption。 我已经有了部分工作。 如果我通过HTTP访问一切都很好,除非没有encryption,但如果我通过HTTPS访问的网页被破坏,我得到了这样的错误: Mixed Content: The page at 'https://domain.com/service1' was loaded over HTTPS, but requested an insecure stylesheet 'http://domain.com/service1/blahblah.css'. This request has been blocked; the content must be served over HTTPS. Mixed Content: The page at 'https://domain.com/service1' was loaded over HTTPS, but requested an insecure stylesheet 'http://domain.com/service1/blahblah.css'. […]

这个Nginxconfiguration有多安全? 我还有什么可以做进一步优化?

所以我最近设置了一个个人的GitLab服务器,我正在使用完整SSL的以下configuration。 我尽我所能,但还有什么可以做得更好? 我大部分时间都是通过闲暇时间了解我对networking服务器的了解,所以我没有真正遵循任何规范。 请让我知道任何意见和疑虑。 server_tokens off; add_header X-Frame-Options SAMEORIGIN; add_header X-Content-Type-Options nosniff; add_header X-XSS-Protection "1; mode=block"; add_header Content-Security-Policy "default-src 'self'; script-src 'self''unsafe-inline' 'unsafe-eval' https://ssl.google-analytics.com h https://assets.zendesk.com https://connect.facebook.net; img-src 'self' https://ssl.google-analytics.com https://s-static.ak.facebook.com https://assets.zendesk.com; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com https://assets.zendesk.com; font-src 'self' https://themes.googleusercontent.com; frame-src https://assets.zendesk.com https://www.facebook.com https://s-static.ak.facebook.com https://tautt.zendesk.com; object-src 'none'"; server { listen 80; listen 443 default ssl […]

强制浏览器清空DNScaching

所以我把一个mediawiki网站迁移到一个新的服务器上。 旧的仍然是,但数据库被locking,我合并新的内容rsync和mysqldump每15分钟。 所以我们可以读取旧IP的内容。 现在我改变了域的Alogging指向新的服务器。 3个小时后,当我使用caching清除浏览器时,我在新的服务器上。 但是,当我使用不caching清除浏览器,我登陆旧服务器。 如何告诉浏览器,它应该清除它的DNScaching,或者有一个IP更改?

在CentOS7 VPS上安装nginx 1.9

对noob问题抱歉。 我正在尝试将DigitalOcean CentOS7液滴上的nginx从1.8.0升级到1.9.x。 这是我的/etc/yum.repos.d/nginx.repo文件: # nginx.repo [nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/7/$basearch/ gpgcheck=0 enabled=1 ($ basearch是x86_64) 每当我运行sudo yum install nginx ,我得到: Package 1:nginx-1.8.0-1.el7.ngx.x86_64 already installed and latest version 我究竟做错了什么?

软件负载平衡器 – 转发或redirect到后端服务器?

我是一名Web开发人员,最近需要使用Load Balancer。 我在这个领域是新的。 我select了使用哪个LB,不像它那么重要,HAProxy具有我所研究的所有function。 我担心的是,使用基于软件的负载均衡器,它不会将用户redirect到后端服务器,负载均衡器停留在中间,因此所有的带宽和TCP连接都将停留在中间。 我说得对吗? 如果以前是这样的话,那我该如何做一个解决scheme,使负载平衡器不会停留在Client – Backend服务器的中间? 此外,我需要一个“源”磅types,因为web应用程序使用会话,我需要用户连接到他们已经使用相同的服务器。 先谢谢你。

nginx提供静态文件并更改路由/path

我想通过一个像/ data / content / video /这样的目录中的nginx来提供静态文件,这个目录完全不同于www.url.com/reports/video-name.mp4 我已经尝试了几个重写规则和位置,但似乎没有工作,因为我打算,这是可能的吗? 这与video名称一起作为唯一的路由参数(例如www.url.com/video-name.mp4): location ~ \.(mp4) { root /data/content/video; chunked_transfer_encoding on; proxy_buffering off; mp4; mp4_buffer_size 4M; mp4_max_buffer_size 10M; } 有一个重写规则或正则expression式,我可以用来拉出video-name.mp4,以便它试图服务的文件是: /data/content/video/video-name.mp4从这个请求www.url.com/reports/video-name.mp4