Questions tagged «nginx»

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

3
Nginx上的通配符虚拟主机
我刚刚在服务器上安装了Nginx,对结果非常满意,但是我仍然不知道如何插入通配符虚拟主机。 这是我想要的[directory]结构: -- public_html (example.com) ---subdoamin 1 (x.example.com) ---subdomain 2 (y.example.com) 如您所见,它非常基本,我希望能够通过简单地为新的子域添加A记录来添加域,该记录将立即指向public_html下具有相同名称的子目录。 网络上有很多东西,但是我还没有碰到像这样的东西。 任何帮助将不胜感激。

5
使用Nginx通过SSL将非www重定向到www
尝试将https://example.com重定向到https://www.example.com时出现错误。 当我转到https://example.com时,它不会重定向并返回page / 200状态。 我不想要这个,我希望它重定向到https://www.example.com。 当我转到http://example.com时,它将重定向到https://www.example.com 有人可以告诉我我要去哪里错吗? 这是我的默认和default-ssl配置文件: default.conf server { listen 80; server_name example.com; return 301 https://www.example.com$request_uri; } default-ssl.conf upstream app_server_ssl { server unix:/tmp/unicorn.sock fail_timeout=0; } server { server_name example.com; return 301 https://www.example.com$request_uri } server { server_name www.example.com; listen 443; root /home/app/myproject/current/public; index index.html index.htm; error_log /srv/www/example.com/logs/error.log info; access_log …

2
nginx权限被拒绝用于ssl配置的证书文件
我正在Fedora服务器上安装Nginx ssl代理。 我已经在/ etc / nginx下创建了一个证书和密钥对。他们看起来像这样: ls -l /etc/nginx/ total 84 ... -rw-r--r--. 1 root root 1346 Sep 20 12:11 demo.crt -rw-r--r--. 1 root root 1679 Sep 20 12:11 demo.key ... 作为root,我正在尝试启动nginx服务: systemctl start nginx.service 我收到以下错误: nginx[30854]: nginx: [emerg] SSL_CTX_use_certificate_chain_file("/etc/nginx/demo.crt") failed (SSL: error:0200100D:system library:fopen:Permission denied...e:system lib) nginx[30854]: nginx: configuration file …

5
Nginx worker_connections的最佳值
Nginx worker_connections“设置了工作进程可以打开的最大同时连接数。该数目包括所有连接(例如,与代理服务器的连接等),而不仅包括与客户端的连接。另一个考虑因素是实际的同时连接数不能超过当前最大打开文件数限制”。我对此有几个疑问: 最佳或推荐值应该是多少? 使用大量工作人员连接的不利之处是什么?

3
从Nginx反向代理转发自定义标题
我有一个Nginx Web服务器充当反向代理,将请求转发到Apache进行其他处理(我恳求您不要问为什么)。我有一个尝试附加自定义标头的请求,我希望nginx将该自定义标头转发到Apache,以便我可以在应用程序中对其进行处理。 我已经浏览了HttpProxyModule文档,但是即使我在正确的位置,它们也没有很好的描述性(很可能是我没有)。 如何获取Nginx转发X-CUSTOM-REFERRER标头?而且,如果可能的话,我希望它可以随传入的任何自定义标头一起转发。如果后者要求不高,那么前者就可以满足我当前的需求。 如您所见,我是nginx的新手,所以补救版本会有所帮助。 谢谢。 更新 我现有配置中的相关代码段: location / { proxy_pass http://preview; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # proxy_set_header X-Custom-Referrer $x_custom_referrer; }

2
什么时候必须在配置中使用引号?
我见过人们使用过多的引号: add_header 'Access-Control-Allow-Origin' '*'; 我见过人们不使用引号: add_header Access-Control-Allow-Origin *; 据我所知,两者都可以正常工作,那么您何时真正需要使用引号?
24 nginx 

3
神秘的误导中文流量:如何找出HTTP请求使用的DNS服务器?
在过去的一周中,我从各种各样的中文IP地址获得了大量的流量。此流量似乎来自正常人,他们的HTTP请求表明他们认为我是: 脸书 海盗湾 各种BitTorrent跟踪器, 色情网站 所有这些听起来都像人们会使用VPN一样。否则会让中国长城生气的事情。 用户代理包括Web浏览器,Android,iOS,FBiOSSDK,Bittorrent。IP地址是普通的中国商业提供商。 如果主机不正确或用户代理明显错误,我会让Nginx返回444: ## Deny illegal Host headers if ($host !~* ^({{ www_domain }})$ ) { return 444; } ## block bad agents if ($http_user_agent ~* FBiOSSDK|ExchangeWebServices|Bittorrent) { return 444; } 我现在可以处理负载了,但是有些突发高达2k / min。我想找出他们为什么要来找我并阻止它。我们也有合法的CN流量,因此禁止选择地球的1/6。 它可能是恶意的,甚至是个人的,但那可能是那边配置错误的DNS。 我的理论是,它的DNS服务器配置错误,或者可能是人们用来绕过Great Fire Wall的某些VPN服务。 给定客户端IP地址: 183.36.131.137 - - [05/Jan/2015:04:44:12 -0500] "GET …
24 nginx  vpn  china 

1
如何让nginx记录使用的SSL / TLS协议和密码套件?
我的目标是为连接到我的nginx的客户端确保适当的安全性。我正在遵循Mozilla的指南来在我的nginx安装上正确配置TLS,但是我没有概述实际使用的实际协议/密码套件。 我现在所拥有的: server { listen 443; ssl on; ssl_certificate /path/to/signed_cert_plus_intermediates; ssl_certificate_key /path/to/private_key; ssl_dhparam /path/to/dhparam.pem; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers 'the_long_ciphersuite_listed_there'; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:50m; } 这样,我想记录使用哪种SSL协议进行连接以及在客户端/服务器协商后选择了哪种密码套件。例如: 10.1.2.3 - - [13/Aug/2014:12:34:56 +0200] "GET / HTTP/1.1" 200 1234 "-" "User agent bla" 至 10.1.2.3 - - [13/Aug/2014:12:34:56 +0200] ECDHE-RSA-AES128-GCM-SHA256 TLSv1.2 …
24 nginx  security  logging  tls  ssl 

7
getpwnam(“ www”)在/etc/nginx/nginx.conf中失败
我将nginx.conf示例复制到了我的ubuntu 12.04框中(我不知道将其他conf文件放在哪里。我是nginx菜鸟)。当我尝试启动nginx时,出现以下错误: abe-lens-laptop@abe:/etc$ sudo service nginx start Starting nginx: nginx: [emerg] getpwnam("www") failed in /etc/nginx/nginx.conf:1 nginx: configuration file /etc/nginx/nginx.conf test failed 这个错误是什么意思?我该如何解决?我找到了这篇文章,但我的用户已经设置为www www(如果在链接文件中看到),如何更改NGINX用户?

2
在配置文件中将变量与字符串合并
我的conf文件中有以下设置 upload_set_form_field $upload_field_name.name "$upload_file_name"; 但是我想将选择的参数名称更改为: upload_set_form_field ($upload_field_name+"[name]") "$upload_file_name"; 这样我就可以获取“ attachment [name]”,但这是行不通的。如果有人可以帮助我将变量与nginx配置文件中的字符串合并,我将非常高兴。

1
NGINX上的服务器别名
我正在将网站移至NGINX上运行的新服务器。旧站点的Apache2 VirtualHost已ServerAlias配置为我要在NGINX配置中复制。 根据我在NGINX文档上阅读的内容,这似乎可以通过轻松实现server_name。 我只想确保我所拥有的是正确的。 从APACHE2 ServerAlias our-domain.com www1.our-domain.com our-domain.ie 致NGINX server_name www.our-domain.com our-domain.com www.our-domain.ie our-domain.ie;


2
Nginx工作进程数
我正在设置nginx来提供Drupal安装,并且我似乎在nginx worker进程设置上发现有冲突的信息。一个站点说您需要两个,一个站点说需要五个,一个站点说每个处理器一个... 我应该如何选择nginx worker进程的数量?如果有所不同,那就是VMWare群集上的来宾VM,我给了它一个虚拟处理器。
23 web-server  nginx 

5
SSL和Ngnix:在SSL握手时,服务器在侦听SSL端口时未定义“ ssl_certificate”
我设法用没有错误的LE创建了我的证书,我也设法将流量从端口80重定向到端口443。但是,当我重新加载nginx服务器时,我无法访问我的网站。Ngnix错误日志显示以下行: 4 no "ssl_certificate" is defined in server listening on SSL port while SSL handshaking, client: 192.168.0.104, server: 0.0.0.0:443 我认为这意味着它找不到我随后导航到证书路径的证书,而且它们都在那儿,这可能是什么问题?这是我的Ngnix配置的样子: server { listen 80; server_name pumaportal.com www.pumaportal.com; return 301 https://$server_name$request_uri; } server { listen 443 ssl; server_name pumaportal.com www.pumaportal.com; add_header Strict-Transport-Security "max-age=31536000"; ssl_certificate /etc/letsencrypt/live/pumaportal.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/pumaportal.com/privkey.pem; ssl_stapling on; ssl_stapling_verify on; …

2
使用X-Forwarded-For标头的nginx速率限制
我正在研究使用nginx的HttpLimitReqModule进行速率限制。但是,请求全部来自同一IP(负载平衡器),标头中包含真实IP地址。 有没有一种方法可以使nginx速率限制基于X-Forwarded-For标题中的ip而不是源的ip?

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.