Articles of nginx

如何configuration相同域下的不同应用程序?

我有一份新工作,他们拥有AWS上的所有设置。 我们有一个testing服务器,它正在托pipe一些应用程序。 如果我去 jenkins.example.com 它转到我们正在运行的Jenkins实例。 如果我去 server.test.example.com 然后转到我们的应用程序的testing版本。 在哪里configuration(不同的“子域”的应用程序)? 它在Nginx中还是在DNS条目中? 或者两个或别的地方? (我不是百分之百地确定我应该用这个问题,例如“子域名”,随时告诉我他们是什么)。

如何将CORS头添加到nginx中的多个位置?

我已经能够使用enable-cors.org中提供的代码为我的nginx服务器添加一个基本的CORS支持。 然而,这个解决scheme意味着复制和粘贴每个位置块的代码,我有几个位置,如下所示: location /game1 { alias /development/games/game1/output; index index.html; } location /game2 { alias /development/games/game2/output; index index.html; } 有没有办法创build一个包含location块外的add_header的规则? 编辑澄清 :我已经尝试了以下 server { listen 80; server_name localhost; charset UTF-8; #access_log logs/host.access.log main; if ($request_method = 'OPTIONS') { add_header 'Access-Control-Allow-Origin' '*'; … } location /game1 { alias /development/games/game1/output; } … } 但它不起作用: 2015/10/14 19:00:01 [emerg] 3464#7384: […]

寻找科学Linux和nginx故障转移群集

这是我想要的: 两个SL7.1实例,nginx为反向代理 没有共享的文件系统 共享资源: 虚拟IP 运行nginx服务 我已经尝试了keepalived和corosync +起搏器。 keepalived与vrrp-scripts有问题:如果服务nginx正在运行,那么脚本没有检查错误。 所以只有在服务器closures的情况下,故障转移才起作用。 corosync +起搏器有问题,我需要使用fence-agents-vmware-soapconfigurationfencing,这在这里是不可能的(comapany policys)。 reverseeproxy位于DMZ中,并与VMWare主机进行通信,防火墙必须被改变,而不会被拒绝。 你有没有提示,howtos等,再做整个事情? 谢谢

如何为nginx上的子域configurationssl

目前Nginx已configuration为接受通用SSL证书,例如:* .website.com。 我没有购买昂贵的通配符证书,而是购买了顶级域名website.com的单个域名SSL证书 现在,我发现服务实际上使用了两个也需要在SSL下的子域名。 例如:a.website.com和b.website.com 题。 如何更改nginxconfiguration,以便在为a.website.com购买单个子域SSL证书时,我可以指出nginx使用它。 这里是Nginx文件目前的样子: server { listen 80; server_name website.io www.website.io; return 301 https://website.io$request_uri; } server { listen 443 ssl; ssl on; server_name website.io www.website.io; client_max_body_size 5m; add_header X-UA-Compatible "IE=Edge,chrome=1"; access_log /var/log/nginx/website.io_access.log; error_log /var/log/nginx/website.io_error.log; ssl_certificate /srv/ssl/website.io/ssl.crt; ssl_certificate_key /srv/ssl/website.io/ssl.key; error_page 500 502 503 504 /500.html; location /500.html { root /srv/static/website/maintenance; } location […]

添加第二个站点到nginx

我在我的服务器上有一个域是由其他人设置的,但是我试图添加第二个域,在closures了几个关于谷歌的教程之后,我遇到了一些问题。 这是我的默认(我没有创build这个): server { listen 80 default; #server_name www.domain-one.net domain-one.net; root /var/www/html/domain-one; index index.php index.html; location / { try_files $uri $uri/ /index.php?$args; } location ~ \.php$ { try_files $uri =404; include fastcgi_params; fastcgi_pass 127.0.0.1:9000; fastcgi_read_timeout 300000; } } 该configuration工作绝对罚款,根据教程我正在阅读我不得不安装另一个文件,所以我做了这个,并创build了一个链接,但是当我运行nginx -t我得到一个错误 nginx: [emerg] a duplicate default server for 0.0.0.0:80 in /etc/nginx/sites-enabled/default:2 这是我创build的第二个configuration文件: server { listen 80 […]

docker nginx代理:错误ERR_TOO_MANY_REDIRECTS

我正在使用jwilder / nginx-proxydocker容器代理一个magento容器(使用nginx)与SSL。 我能够设置容器并运行带有SSL连接的magento安装例程。 完成安装后,每当我尝试访问magento前端或后端时,都会收到ERR_TOO_MANY_REDIRECTS错误消息。 这似乎很奇怪,因为在安装过程中显然没有问题,所以我认为必须有一些我还没有得到的东西。 我认为有一些reqrite规则混淆了架构,但我无法弄清楚什么是错的。 这是我configuration的magento nginx: # # The default server # server { listen 443; ssl on; server_name example.com; ssl_certificate /etc/certs/example.com.crt; ssl_certificate_key /etc/certs/example.com.key; #charset koi8-r; root /var/www; index index.html index.htm index.php; location / { index index.html index.php; ## Allow a static html file to be shown first try_files $uri $uri/ @handler; […]

Nginx:redirect所有www。 和非sslstream量到非www和https

在Nginx中,是否可以redirect所有的www。 和非sslstream量在一个单一的服务器块的对立面? 如果是这样,怎么样? 如果不是,处理这些规则的最好方法是什么? 下面是我想要实现的: http://www.example.com > https://example.com https://www.example.com > https://example.com http://example.com > https://example.com 提前致谢!

我怎样才能将客户端均匀地分配给服务器,在Nginx中使用hash_ip作为loadbalancer?

我知道Nginx可以使用hash_ip将特定的客户端绑定到服务器。 我的问题是,当Nginx使用客户端IP散列时,是否将客户端均匀地分配给服务器,而不pipe客户端使用何种IP?或者取决于使用哪个IP? 如果它依赖于客户端IP,我怎样才能平均分配客户端到服务器? 另外,有没有办法检查Nginx使用hash_ip创build的哈希表?

我应该如何将GeoIP模块添加到nginx?

我在Centos 6.7服务器上使用nginx 1.8版本,但使用nginx -V命令时,我看不到geoip_module。 我怎样才能把它添加到nginx?

NGINX代理SSL终止的最佳实践

我在一个NGINX代理的后面停靠了几个网站。 我正在从Apache设置迁移,是NGINX的新手。 据我所知,我应该使用NGINX代理服务器。 我希望一切都通过SSL和所有非SSL请求被redirect到HTTPS。 我的代理后面的私人网站应该通过正常的HTTP端口80与代理进行通信吗? 这仍然是encryption的吗? 仅供参考,是否可以从NGINX代理到apache网站进行代理?