我有一个nginx集群,作为一个API路由器,代理近400万个请求。 我们有一个问题,上游连接将超时一段时间,然后nginx工作进程将会死亡,并成为孤儿。 2017/10/06 18:21:32 [error] 10908#0: *203159041 upstream timed out (110: Connection timed out) while connecting to upstream, client: 10.2.2.2, server: , request: "POST /api/path/v1 HTTP/1.1", upstream: "http://10.1.1.1:80//api/path/v1", host: "example.com" 2017/10/06 18:21:42 [alert] 3403#0: worker process 10911 exited on signal 11 2017/10/06 18:21:43 [alert] 3403#0: worker process 10913 exited on signal 11 这是我的nginx.conf的相关部分。 上游块不包括在内但只有服务器值。 user […]
我需要能够向访问我的站点的Web客户端展示由两个不同的CA签名的两个证书,如果客户端不信任另一个,则应该select另一个。 有没有办法做到这一点? 我在Ubuntu 16.04.3 vm下运行NGINX 。
我有两个Laravel项目 Laravel 4 with 664 user:www-data permission Laravel 5 with 664 user:www-data permission 注意: moduletwo是在这个虚拟主机中用来指向Laravel 5文件的别名。 我正在尝试在本地机器上configurationLaravel 4作为主项目,而Laravel 5将作为Nginx虚拟主机中的别名。 Laravel 4运行良好,没有问题。 但是当我尝试访问Laravel 5模块时,它说File not found. 这里是日志 : access.log的: GET `/moduletwo/index.php/LFiveRoute HTTP/1.1" 404 27 "http://www.Laravel.dev/LFourRoute` error.log中: FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 172.22.0.1, server: www.Laravel.dev, request: "GET /moduletwo/index.php/LFiveRoute […]
我想在macOS上使用nginx作为服务器apache的反向代理。 我pipe理默认的macOS服务器的apache运行在端口4780为HTTP和47443为HTTPS。 Config位于这里: /Library/Server/Web/Config/Proxy/apache_serviceproxy.conf 现在nginx的一部分:我想nginx代理服务器的子域server.example.com上的Apache。 对于HTTP它的作品像魅力,但HTTPS是问题,证书是在Apache中,而不是在Nginx的… HTTPconfiguration: server { listen 80; listen [::]:80; server_name server.example.com; #charset koi8-r; access_log /logs/server.access.log main; error_log /logs/server.error.log error; location / { proxy_pass http://localhost:4780; 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-Forwarded-Proto $scheme; } } HTTPSconfiguration: server { listen 443; listen [::]:443; server_name server.example.com; #charset koi8-r; access_log /logs/server.access.log […]
在Nginx中,我只需要一个规则,所以任何机构去www.example.com/index.php/admin/应自动redirect到www.example.com/admin/ 我尝试了不同的设置,但所有这些都是redirect任何包含.php中间的URL,而我只是需要特定的pipe理URL
我有一个运行Nginx和Gunicorn的Django网站。 每次我在服务器上调用一个url,例如website / url,它就会redirect到localhost / url。 我在nginx.conf和sites-available / site-name中给出了nginx设置 nginx.conf: user www-data; worker_processes auto; pid /run/nginx.pid; events { worker_connections 768; # multi_accept on; } http { ## # Basic Settings ## client_max_body_size 5M; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; # server_tokens off; # server_names_hash_bucket_size 64; server_name_in_redirect off; include /etc/nginx/mime.types; default_type application/octet-stream; […]
在某些情况下,我使用nginx作为负载平衡器。 这是… 我有两个Apache的虚拟主机,它们是两个不同的networking应用程序, vhost.com和vhost.org ,它们在相同的端口8888上进行监听。 我在nginx上创build了这些虚拟主机,监听端口80的stream量正在被转发到Apache。 这是一个vhost.com的例子。 upstream local { server vhost.com:8888; } server { listen ***.***.***.***:80; server_name vhost.com www.vhost.com; if ($host = "vhost.com") { return 301 http://www.$host$request_uri; } location / { proxy_pass http://local$request_uri; } error_log /var/www/nginx_logs/vhost.com.error.log; access_log /var/www/nginx_logs/vhost.com.access.log; } 问题是,当我请求vhost.com它从vhost.org主机返回内容。 我在哪里犯错了?
我觉得我一定会错过在我面前的东西,但这是情况。 每当我尝试从浏览器访问.php文件(例如, subdomain1.example.com/test.php , subdomain2.example.com/test2.php等)时,我的nginx服务器将继续返回502 Bad Gateway错误。 。 注意:我已经尝试从这个答案中描述的不同location块中删除嵌套的root指令,然后重新加载/重新启动nginx,但它没有帮助。 这里是nginx.conf文件: user nginx nginx; worker_processes 5; pid /var/run/nginx.pid; events { worker_connections 2048; } http { ## # Basic Settings ## sendfile on; keepalive_timeout 5; types_hash_max_size 2048; include /etc/nginx/mime.types; include /etc/nginx/fastcgi.conf; default_type application/octet-stream; #default_type text/html; ## Detect when HTTPS is used map $scheme $fastcgi_https { default off; […]
我正在使用Nginx的Apache反向代理,我有多个VHOSTS,我想在一个单一的nginx虚拟主机文件中提供全部支持SSL。 我的服务器块是 server { listen 80; server_name _; root /var/www/$host/web; access_log /var/log/mylogs/httpd/$host/access.log; location / { try_files $uri $uri/ /index.php; } location ~ \.php$ { proxy_pass http://SERVERIP:8090; 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-Forwarded-Proto $scheme; } location ~ /\. { deny all; } } 这对于所有站点没有SSL都能正常工作,但是当我为以下SSL支持做同样的工作时: server { listen 80; server_name _; ssl […]
我已经安装了php 5.6.30,并在ubuntu 14.04.5上与nginx 1.12.1一起运行 我想运行laravel 5.5,所以我需要得到php7 +和几个PHP扩展。 这是我如何尝试安装它们 $ sudo apt-get install php7.1 php7.1-cli php7.1-curl php7.1-json php7.1-mcrypt php7.1-opcache php7.1-xml php7.1-cgi php7.1-common php7.1-fpm php7.1-mbstring php7.1-mysql php7.1-readline php7.1-xmlrpc 最后一条消息说“ php7.1-fpm start/running, process 24107 ” $ php -v PHP 7.1.10-1+ubuntu14.04.1+deb.sury.org+1 但它没有套接字文件: $ ls /var/run/php php5.6-fpm.pid php5.6-fpm.sock 所以我尝试了几件事情: $ service nginx restart * Restarting nginx nginx $ service php7.1-fpm […]