Articles of nginx

如何使两个域访问服务器,并使用两个不同的主页?

我有一个DigitalOcean服务器与Ubuntu的Linux,Nginx的1.4.6(运行在端口80),清漆3.0.5(运行在端口8080,在一起)我有两个域名,说siteA.com和siteB.com。 在nginx的default.confconfiguration中,前门(80)以root身份使用siteA文件夹,代码是: server { listen *:8080 default_server; root /home/sitea; index index.html index.htm index.php; server_name IP_domain_siteA; location / { autoindex on; autoindex_exact_size off; # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. try_files $uri $uri/ =404; # Uncomment to enable naxsi on this location # include […]

将多个网站(HTTP和HTTPS)redirect到一个页面(ngxin – ubuntu)

我目前有一个浮动IP指向一个服务器托pipe的网站,一些与SSL,其他没有。 我需要closures,备份和调整服务器的大小,并希望在一个小的VPS实例上设置一个简单的保存页面 – 交换浮动IP,捕获所有stream量并redirect。 我有这个运行使用“servername _”作为通配符捕获所有域名,但是(尽pipe端口被打开) – 我无法访问该网站的HTTPS地址 – 当我添加一个基于计划的redirect(指挥HTTP) – 这似乎没有任何影响? 任何帮助非常感谢。 我想这可能是一个相对简单的nginx服务器块。

nginx / ssl:总是redirect到两个https子域中的一个

我的networking服务器支持以下两个子域名: https://www.example.com https://en.example.com 我想创build我的nginxconfiguration,以便: http://en.example.com $ request_uri => https://en.example.com $ request_uri http://www.example.com $ request_uri => https://www.example.com $ request_uri 独立于http或https => https://www.example.com $ request_uri的每个其他子域独立 我找不到解决此问题的任何解决scheme。 任何人都可以帮助我正确的nginxconfiguration。

用于elasticsearch的Nginx反向代理 – 插入filter

我有一个elasticsearch实例,在它前面有一个Nginx反向代理,实现了URL级别的访问控制机制 – 大致如本文所述 这是给我的索引粒度,这是方便的。 我试图找出下一个虽然是 – 我可以执行一个一揽子过滤条件,排除search结果和直接文件检索? 我正在考虑一个“组”模型,其中我的索引中的文档是按组标记的,用户只能看到他们组的结果和文档。 现在,我知道我可以做每个组的索引,并应用URL级别的控制。 如果我不能这样做,这可能是我的解决方法。 我看了一下别名 – 这似乎做了我想要的90%,因为我可以限制search到别名。 但是我不能做的是用一个(未授权的)文档ID来禁止一个直接的'GET'请求。 有没有办法做到这一点,或者我只是在一个无处可去的路上? 注意 – 我的部分原因是我正在尝试使用相当标准的kibana设置,并且我有重叠的用户组。

Nginx正确的SSL证书顺序

我得到了以下文件: priv.key //这是我的私钥,包含一个—– BEGINencryption私钥—–部分 req.csr //这是我的证书请求文件 cert.pem //这是我通过邮件收到的证书,包含一个—– BEGIN CERTIFICATE —–部分 cacert_sha1.crt //这是我认为的根CA. chain.txt / /不知道什么,但必须根据一些教程有用:) 我尝试了很多东西,并以许多不同的方式将这些文件合并到新的.pem文件中。 但是,当我浏览网站时,我总是从浏览器中得到一个没有签名的错误 改变我的configuration后,我总是重新启动nginx。 有谁知道如何以正确的顺序/方式结合? 这是我需要的所有文件吗? 谢谢 :)

我的nginx反向代理configuration有什么问题,单服务器(以及更多)

我试图让nginx反向代理设置工作。 我有两个Web服务器设置,一个与Nginx,一个与Apache2。 我目前无法使用nginx服务器,所以这就是我现在正在尝试的所有,但我补充说,我最终尝试两个,以防万一,影响设置。 我有四台机器在这个设置。 1.客户机 192.168.0.5 Ubuntu 14.04桌面 2.反向代理服务器 192.168.0.10 nginx 1.4.6 Ubuntu 14.04服务器 3.服务器1 192.168.0.15 server1.mydomain.com nginx 1.4.6 Ubuntu 14.04服务器 4.服务器2 192.168.0.20 server2.mydomain.com 的Apache2 Ubuntu 14.04服务器 在我的客户端机器上,我已经将我的主机文件设置为指向每个Web服务器的反向代理服务器,如下所示 / etc / hosts在客户端192.168.0.5上127.0.0.1 localhost 192.168.0.10 server1.mydomain.com 192.168.0.10 server2.mydomain.com 我有SSL1和SERVER2的SSL证书,我把它放在反向代理服务器(192.168.0.10)。 我们将其称为server1.crt,server1.key和server2.crt,server2.key。 我相信我必须使用这样的证书进行设置: client(192.168.0.5) —https—> reverseProxy(192.168.0.10 holds ssl certs) —http—> server1 or server2 我现在有两台服务器,http,我只需要修复192.168.0.10上的nginx反向代理设置。 这是我试过的东西,但它不正确的redirect。 再次,我想要一个https连接到反向代理服务器,然后在反向代理和服务器之间build立一个http连接。 /etc/nginx/nginx.conf user […]

如果存在,Nginx将提供纯文件,否则将提供/index.php

我希望Nginx能够自己处理任何对静态文件的请求,但是如果文件不存在,那么可以使用index.php来处理这一切 目前我的configuration看起来像这样, server { listen 80; listen [::]:80; root /home/www/example.com/htdocs; index index.php; server_name www.example.com; location ~* ^[^\?\&]+\.(html|jpg|jpeg|json|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|svg|woff|ttf)$ { # First attempt to serve request as file, then # as directory, then fall back to index.php try_files $uri $uri/ /index.php; #try_files /favicon.ico =404; } location / { add_header X-Is-PHP true; try_files /index.php =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; # […]

PHP 7和5.6在Nginx中并行

我想将PHP 7与更新的应用程序一起使用,将PHP 5.6与应用程序一起使用,但不支持PHP 7.所以,我尝试configurationNginx来为不同的程序启用不同的PHP版本。 但它不起作用: # should enable PHP5 for all PHP-scripts under /vexim/ path location ^~ /vexim/.*\.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php5-fpm.sock; } 而任何其他的默认应该是PHP 7: location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; } 有了这个configuration,/ vexim /下的PHP脚本根本就不被parsing。 如何使这个工作与不同的pathes和PHP版本? (使用Debian 8.3 Jessie,Nginx 1.8.1(dotdeb),PHP 5.6,PHP 7(dotdeb))

Nginx透明反向代理https和http到另一台服务器

我已经研究了一段时间,但其他人询问的用例与我试图实现的更复杂/不同。 我有Nginx为站点提供端口80和443的页面,例如example1.com。 它工作正常服务http和https。 我现在在运行Apache的内部networking上有第二台服务器。 这是另一个名为example2.com的网站。 我有一个单一的wan ip地址,两个站点的Alogging指向它。 我的路由器将端口80和443转发到nginx服务器。 我想如果Nginx可以检查example1.com或example2.com的请求,并且像现在一样发送example1.com到自己,但是只是将example2.com的所有stream量传递给Apache服务器。 由于我已经在example2.com Apache服务器上正确设置了所有ssl证书,我希望Nginx能够透明地将所有内容传递给Apache。 我想我需要代理通行证。 我是否还需要在Nginx上设置相同的证书,或者是否可以透明地将所有内容传递到Apache服务器,就像我已经将端口443直接转发到Apache服务器一样? build议的configuration将不胜感激。

redirect时,Nginx不会加载css / js / images

当我得到错误50x时,我需要将我的页面redirect到维护页面。 它确实redirect,除非它不会加载CSS,JS或图像。 错误日志是干净的,访问日志不显示任何问题。 下面的代码被添加到我的nginx.conf.default文件中,但是我没有看到任何更改: location ~ \.css { add_header Content-Type text/css; } location ~ \.js { add_header Content-Type application/x-javascript; } 我的html文件在/home/user/Documents ,我的css / js / png文件位于/home/user/Documents/maintenance_files文件夹中。 如果我在浏览器中打开html文件,它会正确地获取这些文件。 我的MIMEtypes在/opt/nginx/mime.types 。 这是我的nginx.conf文件: #user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; error_log logs/error.log debug; events { worker_connections 1024; } http { proxy_temp_path /home/user/work/nginx_files/proxy_tmpFiles 1 […]