Questions tagged «nginx»

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



2
在SNI中使用Nginx
到目前为止,我尚未将SNI与nginx结合使用。但是,随着IP地址池已满,并且商业XP支持即将(最终)停止,我正在考虑将一些站点转换为SNI。 我知道SNI(XP问题,非常老的浏览器)可能会带来一些一般性的限制和陷阱。但是除此之外,我还有什么要注意的? 像-使用SNI时与Nginx相关的陷阱-近期(著名!)浏览器的问题/错误
10 nginx  ssl  sni 

1
Nginx将所有旧域子域重定向到新域
我的域名很长,因此我决定将其更改为更短,更友好的域名。但是由于我有很多子域(实际上,我有一个子域通配符),所以我想保留子域,而只更改域部分。因此,我制定了以下规则: server { listen 80; server_name ~^(\w+)\.olddomain\.com$; rewrite ^ $scheme://$1.doma.in$request_uri? permanent; } 我还阅读了许多其他问题,以解决此问题。但是与我一起,Nginx总是重定向到.domain.in,没有任何子域。我想念什么?我已经针对regex101测试了正则表达式,并且示例运行正常,Nginx似乎无法重定向它。

2
nginx,别名,php-fpm =找不到文件
我正在尝试使用DAViCal设置nginx。但是,我在日志中收到一个“找不到文件”和“在stderr中发送了一个FastCGI:“主脚本未知”。我的别名似乎有问题,但我确定无法解决。 我的虚拟主机: server { listen 80; ## listen for ipv4; this line is default and implied listen [::]:80 default_server ipv6only=on; ## listen for ipv6 root /var/www-data; index index.html index.htm index.shtml index.php; # Make site accessible from http://localhost/ server_name just.a.server; location / { # First attempt to serve request as file, …
10 php  nginx  php-fpm  fastcgi  alias 

5
Nginx删除分块内容的Content-Length标头
我使用nginx 1.2.3代理脚本: proxy_set_header Host $host; proxy_pass http://127.0.0.1:8880; proxy_buffering off; proxy_read_timeout 300s; gzip off; 脚本同时发送Transfer-encoding: chunked和Content-Length: 251: HTTP/1.0 307 Temporary Redirect Content-length: 251 Pragma: no-cache Location: /... Cache-control: no-cache Transfer-encoding: chunked 我都需要,但是nginx会自动删除Content-Length: HTTP/1.1 302 Found Server: nginx/1.2.3 Content-Type: application/json; charset=utf-8 Content-Length: 58 Connection: keep-alive Location: /... 结果,客户端不等待发送块。这曾经与早期版本的nginx一起使用。
10 nginx 


2
如何从Nginx向PHP传递自定义参数?
我与通行证Nginx 1.2.4结合使用PHP-FPM 5.4.8,fastcgi并尝试将自定义参数传递给PHP。这是我到目前为止找到的选项: 使用env指令在中设置环境变量nginx并通过getenv()或$_ENV从中获取环境变量PHP。问题是env仅在main上下文中运行,而我需要在上下文中设置参数server。 fastcgi_param为此使用指令。 我尝试使用更改某些参数的值,fastcgi_param但未成功: nginx: fastcgi_param PATH_INFO "/var/tmp"; PHP: 我检查了所有可以找到的预定义数组: echo '<pre>'; echo "\n".'$GLOBALS'."\n"; var_dump($GLOBALS); echo "\n".'$_SERVER'."\n"; var_dump($_SERVER); echo "\n".'$_GET'."\n"; var_dump($_GET); echo "\n".'$_POST'."\n"; var_dump($_POST); echo "\n".'$_FILES'."\n"; var_dump($_FILES); echo "\n".'$_REQUEST'."\n"; var_dump($_REQUEST); echo "\n".'$_SESSION'."\n"; var_dump($_SESSION); echo "\n".'$_ENV'."\n"; var_dump($_ENV); echo "\n".'$_COOKIE'."\n"; var_dump($_COOKIE); echo "\n".'$php_errormsg'."\n"; var_dump($php_errormsg); echo "\n".'$HTTP_RAW_POST_DATA'."\n"; var_dump($HTTP_RAW_POST_DATA); echo "\n".'$http_response_header'."\n"; var_dump($http_response_header); …
10 php  nginx  fastcgi  php-fpm 

4
在Nginx中检测Slashdot效果
如果引荐来源网址的点击次数超过阈值,我是否可以使Nginx通知我? 例如,如果我的网站出现在Slashdot上,突然我在一小时内有2K点击,当我希望每小时超过1000 K时,我想得到通知。 Nginx是否可以做到这一点?可能没有lua?(因为我的产品不是lua编译的)
10 nginx  traffic 

2
nginx:worker_proccesses指令不起作用
我想尝试在nginx中设置工作进程,但这会引发以下错误: nginx:[emerg]在/ etc / nginx / sites-enabled / default中不允许使用“ worker_processes”指令:1 nginx:配置文件/etc/nginx/nginx.conf测试失败 这是我的代码 worker_processes 4; worker_rlimit_nofile 8192; worker_priority 0; worker_cpu_affinity 0001 0010 0100 1000; server { server_name --.--.--.---; listen 80; #root /var/www/devsites/wordpress/; root /var/www/devsites/trademob/tm-hp-v2/; 我该怎么做才能解决此问题?
10 nginx 

3
配置userdir时,nginx fastcgi“主脚本未知”
我讨厌配置nginx。太复杂了 如何使PHP在用户目录中工作?这是我的nginx.conf的相关部分: location ~ ^/~(.+?)(/.*)?$ { autoindex on; autoindex_exact_size off; alias /home/$1/public_html$2; location ~ \.php { include /etc/nginx/fastcgi.conf; fastcgi_intercept_errors on; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; } } 这给了我错误:FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream在nginx错误日志中。 这是我的/etc/nginx/fastcgi.conf: fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param QUERY_STRING $query_string; fastcgi_param REQUEST_METHOD $request_method; fastcgi_param …
10 nginx  fastcgi  php-fpm 

3
Ubuntu升级后Nginx前端,Apache后端的mod_rpaf问题
我正在运行用于静态文件的Nginx前端,并使用Apache的mod_rpaf在后端上设置正确的远程IP地址,以代理PHP和Passenger的Apache后端。一切正常,直到我升级到Ubuntu 12.04(精确版)。现在,Apache报告所有来自127.0.0.1的连接。 这是相关的配置。升级没有改变。 Nginx: proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; mod_rpaf: <IfModule mod_rpaf.c> RPAFenable On RPAFsethostname On RPAFproxy_ips 127.0.0.1 ::1 RPAFheader X-Forwarded-For </IfModule> 我%{X-Forwarded-For}i在Apache LogFormat指令中使用,访问日志显示了正确的远程地址,因此我知道Nginx正确传递了该地址。 在phpinfo()测试中,HTTP_X_FORWARDED_FOR显示正确的远程地址,但REMOTE_ADDR为127.0.0.1。这也反映在PHP应用程序中,例如WordPress注释。 我尝试将Nginx和mod_rpaf切换到X-Real-IP,但没有任何效果。 我错过了什么变化吗? 相关版本信息,从Ubuntu存储库安装的所有内容: Nginx 1.1.19 Apache 2.2.22 mod_rpaf 0.6

1
使用gitolite和nginx的HTTP上的git
我正在尝试设置一个服务器,在该服务器上可以使用HTTP(S)访问我的git repo。 我正在使用gitolite和nginx(以及用于Web界面的gitlab,但我怀疑这有什么区别)。 我整个下午都在搜索,我觉得很困。 我想我已经理解nginx需要fcgiwrap才能与gitolite一起使用,因此我尝试了几种配置,但没有一种可以使用。 我的存储库位于/ home / git / repositories。 这是我尝试过的三种nginx配置。 1: location ~ /git(/.*) { gzip off; root /usr/lib/git-core; fastcgi_pass unix:/var/run/fcgiwrap.socket; include /etc/nginx/fcgiwrap.conf; fastcgi_param SCRIPT_FILENAME /usr/lib/git-core/git-http-backend; fastcgi_param DOCUMENT_ROOT /usr/lib/git-core/; fastcgi_param SCRIPT_NAME git-http-backend; fastcgi_param GIT_HTTP_EXPORT_ALL ""; fastcgi_param GIT_PROJECT_ROOT /home/git/repositories; fastcgi_param PATH_INFO $1; #fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; } 结果: > git …
10 nginx  git  gitolite  fcgi 

4
为什么我的Nginx别名不起作用?
我正在尝试设置一个别名,以便当有人访问时/phpmyadmin/,nginx将从而/home/phpmyadmin/不是通常的文档根目录中提取它。但是,每次我拉出URL时,它都会为所有未通过fastcgi拉出的项目提供404。fastcgi似乎工作正常,而其余的则不能。strace告诉我它正在尝试从普通文档的根目录中提取其他所有内容,但我不知道为什么。谁能提供一些见识? 这是我的配置的相关部分: location ~ ^/phpmyadmin/(.+\.php)$ { include fcgi.conf; fastcgi_index index.php; fastcgi_pass unix:/tmp/php-cgi.sock; fastcgi_param SCRIPT_FILENAME /home$fastcgi_script_name; } location /phpmyadmin { alias /home/phpmyadmin/; }
10 nginx  alias 

1
NGINX将HEAD转换为GET请求
由于一些糟糕的设计决策,我们有一个应用程序无法响应HTTP HEAD请求(返回“不允许使用方法”)。修改软件以正确返回HEAD请求将很棘手,不是没有可能,但是需要额外的工作。该应用程序位于NGINX代理后面,我想知道是否有一种方法可以使NGINX将从客户端收到的HEAD请求转换为对后端的GET请求,然后丢弃响应(将报头除外)并将其发送回给客户端,就像我们的应用程序服务器能够响应HEAD请求一样。 当前配置(相当标准) upstream ourupstream{ server unix:/var/apps/sockets/ourapp.socket.thread1 server unix:/var/apps/sockets/ourapp.socket.thread2 server unix:/var/apps/sockets/ourapp.socket.thread3 [like 20 of these] } server { listen 1.2.3.4:80; server_name ourapp; access_log /var/apps/logs/ourapp.nginx.plog proxy; error_log /var/apps/logs/ourapp.nginx.elog info; gzip on; gzip_types text/plain text/html; proxy_intercept_errors on; proxy_connect_timeout 10; proxy_send_timeout 10; proxy_read_timeout 10; proxy_next_upstream error timeout; client_max_body_size 2m; error_page 404 /static/404.html; error_page …
10 nginx 

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.