Questions tagged «nginx»

Nginx(“ eNgine x”)是一种轻量级的高性能HTTP服务器,反向代理,TCP流代理和邮件代理,在类似BSD的许可证下发布。

5
基于主机名的动态Nginx域根路径?
我正在尝试使用基本的master / catch-all vhost配置来设置我的开发nginx / PHP服务器,以便可以根据需要创建无限的___.framework.loc域。 server { listen 80; index index.html index.htm index.php; # Test 1 server_name ~^(.+)\.frameworks\.loc$; set $file_path $1; root /var/www/frameworks/$file_path/public; include /etc/nginx/php.conf; } 但是,对于此设置,nginx会返回404错误。我知道nginx和PHP可以正常工作并具有权限,因为localhost我使用的配置工作正常。 server { listen 80 default; server_name localhost; root /var/www/localhost; index index.html index.htm index.php; include /etc/nginx/php.conf; } 我应该检查什么才能发现问题?这是它们都正在加载的php.conf的副本。 location / { try_files $uri …
11 php  nginx  virtualhost 

2
基于url参数的Nginx动态代理
我正在从要在3D WebGL画布中使用的外部站点加载图像。但是由于原产地,这是不允许的。 我从网页生成的URL如下: http://domain/somename/imagesproxy?url=http%3A%2F%2Fanothersite%2Fimage.png 现在,我想proxy_pass假设请求中包含的URL。 location /somename/imagesproxy { proxy_pass ... proxy_set_header host localhost; } 如何让Nginx动态代理到不同的URL
11 nginx  proxy  dynamic 

1
如何防止Nginx反向代理特定子目录
在Apache上,您可以ProxyPass除一个或多个子目录(带有“!”)之外的所有内容。 ProxyPass /subdir ! ProxyPass / http://localhost:9999/ 什么是Nginx等效项? 我的第一个猜测显然是行不通的: location /subdir { root /var/www/site/subdir; } location / { proxy_pass http://localhost:9999/ ; }

1
SSL客户端证书验证在nginx中失败
我正在尝试在Nginx中设置ssl客户端身份验证。我创建了一个自签名的根CA。使用它,我创建了一个子CA。我使用此子CA为客户端创建证书。我将子CA和根CA串联到一个新文件中。我验证了客户端证书,如下所示: $ openssl verify -purpose sslclient -CAfile auth-root.crt testcert.crt testcert.crt: OK auth-root.crt是相连的子CA和根CA。testcert.crt是客户端证书。 我使用将nginx指向auth-root.crt ssl_client_certificate。 当我使用testcert.crt证书发出HTTP请求时,nginx失败。我打开了调试日志,可以看到以下内容: 2012/06/21 22:58:47 [debug] 8901#0: *2 verify:0, error:2, depth:1, subject:"/C=US/ST=Florida/L=Tampa/O=Test org/OU=Test OU/CN=AuthCerts TestCA",issuer: "/C=US/ST=Florida/L=tampa/O=Test org/OU=Test OU/CN=Root TestCA" 2012/06/21 22:58:47 [debug] 8901#0: *2 verify:0, error:27, depth:1, subject:"/C=US/ST=Florida/L=Tampa/O=Test org/OU=Test OU/CN=AuthCerts TestCA",issuer: "/C=US/ST=Florida/L=tampa/O=Test org/OU=Test OU/CN=Root TestCA" 2012/06/21 22:58:47 [debug] …

1
nginx:重写除一个位置以外的所有内容
现在,我的nginx正在将多个域重写为我们正在使用的一个主域。这是我的配置中的一条规则: server { listen X.X.X.X:80; server_name .exampleblog.org; rewrite ^(.*) http://blog.example.org$1 permanent; } 对** exampleblog.org *的每个请求都将重定向到blog.example.org 现在,我希望www.exampleblog.org/+和exampleblog.org/+将用户重定向到我们的Google Plus页面。它尝试了以下版本的不同版本: server { listen X.X.X.X:80; server_name .exampleblog.org; location /+ { rewrite ^ https://plus.google.com/12345678901234567890/ permanent; } rewrite ^(.*) http://blog.example.org$1 permanent; } 以上版本和其他版本仅重定向到blog.example.org/+-我在做什么错?

7
启动时启动Nginx
我能够安装并运行nginx和passenger,但是无论何时重新启动服务器我都无法启动nginx。要启动nginx进程,只需输入sudo / opt / nginx / sbin / nginx即可。据我了解,我在/etc/init.d中放入ubuntu hardy的所有内容都会执行。有人知道模拟该命令行调用的命令吗? 须藤/ opt / nginx / sbin / nginx
11 ubuntu  nginx  startup 

2
nginx:ssl_stapling_verify:究竟在验证什么?
该ssl_stapling_verify指令到底是什么?是否检查答案的签名是否正确?Nginx官方文档在解释这一点时含糊不清: https://nginx.org/zh-CN/docs/http/ngx_http_ssl_module.html#ssl_stapling_verify 启用或禁用服务器对OCSP响应的验证。 为使验证生效,应使用ssl_trusted_certificate指令将服务器证书颁发者的证书,根证书和所有中间证书配置为受信任的。
11 nginx  ocsp 


1
nginx proxy_pass使用子文件夹
好的,此任务应该很简单,但我无法使其正常工作。我想在我的域名之后(实际上是在该域名的IP之后)有一个子文件夹,该子文件夹将重定向到同一服务器上的特定端口。本质上,我想摆脱使用许多端口的麻烦。 这是我的nginx配置 server { listen 80; index index.html index.htm index.nginx-debian.html index.php; server_name aaa.bbb.ccc.ddd; location ^~ /app2 { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $remote_addr; proxy_set_header Host $host; proxy_pass http://aaa.bbb.ccc.ddd:8001; } } 因此,在访问aaa.bbb.ccc.ddd / app2时,我希望将其解析为http://aaa.bbb.ccc.ddd:8001。 可以注意到,它可能是如此复杂。我在这里想念什么? 谢谢帕特

4
如何检查服务器令牌已关闭?
我们从渗透测试报告中获得了反馈,说我们应该关闭服务器令牌。这使人们无法看到我们正在使用哪个版本的PHP,并限制了他们针对特定PHP版本的能力。 我在http块下将以下内容添加到nginx.conf中: server_tokens off; 但是我可以使用哪些工具来检查此更改是否生效?
11 nginx  php 

4
在ansible部署期间验证nginx.conf
我有一台Ansible设置的服务器,它运行着许多站点。 我的Ansible任务大致如下: - name: site nginx config template: src="nginx-site.conf.j2" dest=/etc/nginx/conf.d/{{item.name}}.conf owner=root group=root mode=0444 with_items: sites notify: restart nginx - name: nginx conf template: src=nginx.conf.j2 dest=/etc/nginx/nginx.conf owner=root group=root mode=0444 notify: restart nginx 我想使用validateAnsible模板模块的参数来调用nginx -t,并确保我的新配置在语法上有效。它适用于主要的nginx.conf: template: src=nginx.conf.j2 dest=/etc/nginx/nginx.conf owner=root group=root mode=0444 validate="/usr/sbin/nginx -c %s -t" 但这似乎并没有改变站点特定的配置文件。放置validate特定于站点的模板无效,因为需要将它们包装在http指令中才能生效。 我该怎么做才能检查这些特定于站点的文件的有效性?
11 nginx  ansible 

2
了解Nginx'listen'指令的不同值
我正在写nginx config,我有一个基本的问题。 之间有什么区别: listen 443 ssl;vs listen [::]:443 ssl;vslisten [::]:443 ssl http2; 我的目标是确保此Web应用程序的安全,但也要与旧客户端保持兼容。 注意:我知道[::]:443ipv6必须这样做,但是在这种情况下,ipv4是否也包含在内?要清除我的概念。
10 nginx 

4
当主机端口!=容器端口时,Nginx在Docker计算机上重写
我正在尝试运行多个都在端口80上运行nginx侦听的docker容器,但将不同的主机端口映射到容器端口80。 在大多数情况下,这是可行的,但nginx由于缺少尾部斜杠而进行重定向时除外。 server { listen 80; root /var/www; index index.html; location /docs {} } 给定上述nginx配置和一个运行它的docker容器,并将其主机端口8080映射到容器端口80,我可以通过curl ok获得localhost:8080 / docs /: > GET /docs/ HTTP/1.1 > User-Agent: curl/7.35.0 > Host: localhost:8080 > Accept: */* > < HTTP/1.1 200 OK * Server nginx/1.9.5 is not blacklisted < Server: nginx/1.9.5 < Date: Sat, 28 …
10 nginx  docker 

4
为什么我的Web服务器在高负载下使用TCP重置断开连接?
我在Nginx上安装了小型VPS。我想从中获得尽可能多的性能,因此我一直在尝试优化和负载测试。 我正在使用Blitz.io通过获取一个小的静态文本文件来进行负载测试,并遇到一个奇怪的问题:一旦同时连接的数量达到2000个左右,服务器似乎就在发送TCP重置。数量很多,但是通过使用htop,服务器仍然有大量余下的CPU时间和内存,因此,我想弄清楚这个问题的根源,看看是否可以进一步解决。 我在2GB Linode VPS上运行Ubuntu 14.04 LTS(64位)。 我的信誉不足,无法直接发布此图,因此,这里是Blitz.io图的链接: 我已尝试执行以下操作来找出问题的根源: Nginx配置值worker_rlimit_nofile设置为8192 已nofile设置为64000为硬性和软性限制root和www-data用户(什么nginx的运行为)/etc/security/limits.conf 没有迹象表明出了什么问题/var/log/nginx.d/error.log(通常,如果您遇到文件描述符限制,nginx会显示错误消息,这样) 我有ufw设置,但没有速率限制规则。ufw日志表明没有任何内容被阻止,并且我尝试禁用ufw,结果相同。 中没有指示性错误 /var/log/kern.log 中没有指示性错误 /var/log/syslog 我将以下值添加到/etc/sysctl.conf并且加载了它们sysctl -p,但没有任何效果: net.ipv4.tcp_max_syn_backlog = 1024 net.core.somaxconn = 1024 net.core.netdev_max_backlog = 2000 有任何想法吗? 编辑:我做了一个新的测试,在一个非常小的文件(只有3个字节)上增加了3000个连接。这是Blitz.io图: 同样,根据Blitz的说法,所有这些错误都是“ TCP连接重置”错误。 这是Linode带宽图。请记住,这是5分钟的平均值,因此它的低通滤波了一下(瞬时带宽可能更高),但是,这没什么: 中央处理器: 输入/输出: 这里是htop附近的测试结束: 我还使用tcpdump在另一个(但外观类似)测试中捕获了一些流量,并在开始出现错误时开始捕获: sudo tcpdump -nSi eth0 -w /tmp/loadtest.pcap -s0 port 80 如果有人想看一下,这里是文件(〜20MB):https : //drive.google.com/file/d/0B1NXWZBKQN6ETmg2SEFOZUsxV28/view ?usp …
10 nginx  tcp  high-load  reset 

1
gitlab在nginx子域上运行时慢
我正在尝试在子域上运行gitlab。我在vserver上使用omnibus安装程序安装了最新版的gitlab版本(运行Ubuntu 14.04.1),并禁用了捆绑的nginx,并使用此处发布的配置配置了未捆绑的nginx。如何在nginx上设置子域? / etc / nginx / sites-availible / gitlab upstream gitlab { server unix:/home/git/gitlab/tmp/sockets/gitlab.socket; } server { listen 80 default_server; # e.g., listen 192.168.1.1:80; In most cases *:80 is a good idea server_name git.domain.com; # e.g., server_name source.example.com; server_tokens off; # don't show the version number, a security best …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.