Articles of nginx

Nginx的默认SSL主机:完全禁用或…?

我的服务器上有许多SSL主机通过Nginx SNI提供服务。 但是,当我input该服务器的IP地址时,将看到第一个configuration了虚拟主机的证书警告。 是否有可能完全停用默认的SSL主机? 任何其他的想法,你们这样做呢?

Nginx 1.2.1自定义404

我试图用nginx自定义404错误。 首先在我的本地机器中,我添加了以下几行到默认的站点: error_page 404 /custom_404.html; location = /custom_404.html { root /usr/share/nginx/html; internal; } 然后在/ usr / share / nginx / html文件夹中,我创build了一个名为custom_404.html的nes文件。 然后我去了我的开发机器,并试图做同样的事情,但没有任何运气。 我注意到的一件事情是,在本地我使用的是1.9.3版本,在开发环境中使用了1.2.1版本,并且html forlder(/ usr / share / nginx / html)不存在。 最后一件事是在开发中,我使用nginx的django应用程序,所以我的configuration文件是这样的: server { listen 80; server_name test.example.net; # output compression saves bandwidth gzip on; gzip_http_version 1.1; gzip_vary on; gzip_comp_level 6; gzip_proxied any; gzip_types text/plain […]

nginx:启用基于主机名的gzip压缩

我有一台机器运行nginx为多个域提供httpstream量(使用相同的Lua代码库)。 对于一些域,我想启用gzip压缩。 是否可以为特定的一组域启用gzip压缩? 怎么样?

(Pacemaker)Nginx使用主IP地址而不是虚拟IP与Web服务器进行通信

我使用Corosync / Pacemaker和nginx作为反向代理build立了双节点群集(主动/被动)。 OS是RHEL7,目前该机器只有一个networking接口。 我configuration了两个资源: cluster-vip共享虚拟IP 反向代理 nginx 这里是两个资源的声明: pcs resource create cluster-vip ocf:heartbeat:IPaddr2 ip=192.168.0.1 cidr_netmask=24 op monitor interval=30s pcs resource create reverse-proxy systemd:nginx op monitor interval=5s meta failure-timeout=60s pcs constraint colocation add reverse-proxy with cluster-vip INFINITY pcs constraint order cluster-vip then reverse-proxy 昨天,我发现了一个意外的行为,而networking捕获。 与客户端通信时,主动节点使用虚拟IP地址(192.168.0.1)。 与位于内部networking的Web服务器进行通信时,它将使用接口的主IP地址而不是vip(取决于活动节点的192.168.0.2或192.168.0.3)。 因此,我不得不在我的防火墙上创build两个不同的规则(一个用于node1,另一个用于node2),而不是只允许vip与Web服务器通信。 我打算将其他节点添加到群集中,而不必一个一个地允许每个节点,只是一次性允许VIP。 这种行为是否有合理的解释? 有没有办法告诉起搏器只使用VIP? 这是一个好习惯吗? 我不想做任何愚蠢的事情,所以如果你认为我不应该这样做,我会很高兴听到为什么。 问候

nginx是否真的需要dac_override在其AppArmor政策?

我正在为Ubuntu 14.04中的nginx构build一个AppArmor策略,如果不启用dac_overridefunction,我无法使其工作。 nginx是否真的需要启用或者有什么方法来解决它? 覆盖所有的自主访问控制看起来有风险,但也许在AppArmor约束中是很常见的。 nginx运行良好,所以我不认为有权限问题,但我是AppArmor新手,所以我可能是错的。

使用AWS Elastic Load Balancer,Nginx和SSL进行全面的端到端encryption

您将在networking上看到很多地方告诉您使用AWS ELB设置SSL的方法是在负载均衡器上设置证书,然后将端口443的stream量转发到80,以便负载均衡器和nginx之间的stream量为encryption。 对我来说,这看起来不是很安全,因为您有未encryption的数据stream经networking连接。 如果这些数据是信用卡信息呢? 我的问题: 负载平衡器和nginx之间是否存在未encryption的连接会造成安全风险? 如果对1的答案是肯定的,我将如何设置nginx以允许来自负载均衡器的安全连接? 这涉及到在每个nginx服务器上设置一个SSL证书? 如果nginxconfiguration需要与nginx不在负载均衡器后面的标准ssl设置不同,那么nginxconfiguration会是什么样子?

如何修复debian jessie上的nginx的OpenSSL Padding Oracle漏洞(CVE-2016-2107)?

据我了解,升级openssl应该就足够了(很久以前做了,现在又安装了所有可用的更新(没有openssl)),然后重新启动nginx。 我甚至试图完全停止nginx(用psvalidation)并重新启动它。 但是ssllabs仍然告诉我,我很脆弱。 还有什么我需要做的,或者是什么可能导致它仍然脆弱? 版本: ii nginx 1.9.10-1 all small, powerful, scalable web/proxy server ii nginx-common 1.9.10-1 all small, powerful, scalable web/proxy server – common files ii nginx-full 1.9.10-1 amd64 nginx web/proxy server (standard version) ii openssl 1.0.1t-1+deb8u2 amd64 Secure Sockets Layer toolkit – cryptographic utility ii libssl-dev:amd64 1.0.1t-1+deb8u2 amd64 Secure Sockets Layer toolkit – […]

Nginx反向代理通过客户端证书

我正尝试通过Nginx反向代理设置负载均衡器。 我的应用程序使用客户端证书来validation客户端。 我想我的反向代理将客户端证书转发到我的后端服务器。 我已将此行添加到反向代理的configuration中,以将客户端证书信息存储在自定义HTTP标头中: proxy_set_header X-SSL-CERT $ssl_client_cert 但是, $ssl_client_cert使用多行来存储证书,而我的后端nginx服务器无法正确识别为一个HTTP头。 什么是最好的方式来实现我的客户证书? 这个问题已经在2013年被问到了这个论坛上,但到目前为止还没有真正的解决scheme: https : //forum.nginx.org/read.php?2,236546,236546 谢谢!

nginx server_name没有优先

为什么我的configuration在指定时不会路由到特定的server_name ? 我的configuration的一部分: server { listen 443 ssl; server_name foo-bar.example.com; include includes/http/server/ssl.conf; location / { #… } } server { listen 80 default_server; listen 162 default_server; listen 443 default_server; listen 465 default_server; listen 3306 default_server; listen 9200 default_server; return 444; } 但是,转到域foo-bar.example.com将返回444状态。 当我删除最后一个块时,它按预期工作。 我试着添加: server_name "" server_name _ 在最后一块没有成功 此页面上定义的优先级: http : //nginx.org/en/docs/http/server_names.html 确切的名字 以星号开头的最长通配符名称,例如“* […]

Nginx代理返回二进制数据

我有nginx作为代理在我的应用程序前面终止TLS。 我有它设置为听80端口和redirect到443。 最初铬会下载一个名为“下载”而不是redirect的文件,但由于某种原因,它不再这样做了(我尝试了这个问题的build议,但没有帮助)。 尽pipe问题显然还是存在,但是Chrome仍然正确地redirect,Firefox仍然通过假设它是文件下载来做出反应: 这个问题最常见的是curl: curl -v http://example.com * Rebuilt URL to: http://example.com/ * Trying 54.213.157.146… * Connected to example.com (54.213.157.146) port 80 (#0) > GET / HTTP/1.1 > Host: example.com > User-Agent: curl/7.50.0 > Accept: */* > * Connection #0 to host example.com left intact 而不是返回通常的标题/状态/等。 它似乎是发回二进制数据。 同时https版本似乎正常工作: curl -v https://example.com * Rebuilt URL […]