我有nginx 1.6.2 wihconfiguration升级连接到websocket。 proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; 当没有websocket连接打开时,“service nginx stop”有效,master和worker进程都被正常停止。 killproc $prog -QUIT 但是当我打开websocket的时候,nginx不能被阻止,即使我得到: Stopping nginx: [ OK ] 我试过了 : killproc $ prog -KILL 但是正如所料,在我第一次运行命令的时候强行杀死了主控,而如果我重新执行的话,那么这个工人就会死亡。 你推荐什么强制closuresnginx? 我正在考虑用以下方法replacekillproc: pkill $ prog
我试图找出当前设置的缺点,并发现一个潜在的exception。 有一个网页托pipe在(说) webpage.com 。 如果我将我的域(比如说) mydomain.com指向webpage.com的原始IP,则实际的webpage.com网页将在mydomain.com的Web请求上返回。 但这是一个很好的做法吗? VirtualHost(或SNI)是否应该在HTTP头中使用“主机”参数来过滤查询,这些参数在服务器上不存在?
我无法设置从* .domain.tld / personal到domain.tld / personal的redirect server { server_name domain.tld www.domain.tld *.domain.tld; listen 100.10.10.1; set $root_path /var/www/user1536/data/www/new.domain.tld; location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ { root $root_path; access_log /var/www/nginx-logs/user1536 isp; access_log /var/www/httpd-logs/domain.tld.access.log ; error_page 404 = @fallback; } location /personal { if ($http_host != domain.tld) { rewrite ^ http://domain.tld/personal; } } location / { proxy_pass http://100.10.10.1:81; proxy_redirect http://100.10.10.1:81/ /; […]
我正在Digital Ocean部署一个Rails应用程序( Fedena项目 )给VPS。 我可以使用mongrel_rails start和ruby script/server启动我的应用程序没有问题。 它绑定到端口:3000,我可以根据需要使用该应用程序。 问题是用Phusion Passenger,但是我已经安装了gemgem install passenger但是当我运行passenger start从我的Rails应用程序根目录开始时,有一个权限问题,似乎并不是Mongrel或Webrick的情况: =============== Phusion Passenger Standalone web server started =============== PID file: /root/fedena/tmp/pids/passenger.80.pid Log file: /root/fedena/log/passenger.80.log Environment: production Accessible via: http://0.0.0.0:3000/ You can stop Phusion Passenger Standalone by pressing Ctrl-C. Problems? Check https://www.phusionpassenger.com/documentation/Users%20guide%20Standalone.html#troubleshooting =============================================================================== 2015/03/08 01:35:03 [error] 18827#0: *4 directory index of "/root/fedena/public/" is […]
如果服务器名称是sub1.mysite.com,我有一个Nginx服务器,可将传入呼叫redirect到端口80到443。 这是configuration文件: server { listen 80; server_name sub1.myite.com; return 301 https://sub1.mysite.com$request_uri; } server { listen 443 ssl; include ssl-wedding.conf; server_name sub1.mysite.com; access_log logs/webapp.access.log; proxy_pass_header Server; root /var/www/nginx/wedding; index index.php; include vary_header.conf; include whitelist.conf; location /apiproxy/ { proxy_pass https://apidev.apisite.com/; } location / { try_files $uri $uri/ /index.php?$args; } location ~ .php$ { fastcgi_split_path_info ^(.+\.php)(.*)$; fastcgi_pass wedding_backend; […]
我有一个关于nginx tune的问题。 我有一个应用程序,我想每秒执行200次。 我创build了bash文件,并使用wget和bqO开关执行。 但它有一个问题。 当请求的数量大于100. nginx不响应另一个请求,并在加载完成之前一直存在。 但是,我设置pm.max_children并将worker_connections设置为200。 你有任何build议来解决这个问题,还是有任何调谐器,如“MySQL调谐器”调谐nginx。 我的configuration:php-fpm55.conf: pm = ondemand pm.max_children = 1024 pm.start_servers = 20 pm.min_spare_servers = 20 pm.max_spare_servers = 35 pm.max_requests = 256 pm.process_idle_timeout = 20 net.core.somaxconn = 4096 sysctl.conf的: net.ipv4.tcp_window_scaling = 1 net.core.rmem_max = 16777216 net.core.wmem_max = 16777216 net.ipv4.tcp_rmem = 4096 87380 16777216 net.ipv4.tcp_wmem = 4096 65536 16777216 net.ipv4.ip_local_port_range […]
嗨im有问题,而在nginx中设置htaccess规则。 我的htaccess是: htaccess的规则是: RewriteEngine ON RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule .* index.php/$0 [PT,L] 我已经这样转换它: if (!-f $request_filename){ set $rule_0 1$rule_0; } if (!-d $request_filename){ set $rule_0 2$rule_0; } if ($rule_0 = "21"){ rewrite /.* /index.php/$request_uri last; } 我已经读过,如果nginx是邪恶的,但我不明白这些规则。 我正在尝试设置的应用程序是: http://products.cogzidel.com/airbnb-clone/ 现在规则是很有用的,当我们尝试访问pipe理区域。 我们通过在url中写入/pipe理员来访问它,规则将这个作为index.php的input,我们login到这个。 但是在应用这个规则后,我在日志中看到错误404即将到来。 让我提到,nginx的vhost正在重新加载正确的这个规则后,我已经添加了这个规则在服务器领域和放化区也是工作
我有这样的configuration: location / { root /etc/nginx/euchet; } location /app/ { proxy_pass http://172.16.184.2:8080; 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 REMOTE_ADDR $remote_addr; } 而且我需要添加auth_basic另一个位置,只对请求启用: /app/f?p=3000 我试着用rexexp: location ~ \/appt\/f\?p=3000 { auth_basic "Hello! Enter password"; auth_basic_user_file /etc/nginx/euchet.htpasswd; proxy_pass http://172.16.184.2:8080; 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 REMOTE_ADDR […]
我有一个通配符证书,并由AlphaSSL签名。 我遵循以下步骤: http : //nginx.org/en/docs/http/configuring_https_servers.html#chains将其设置在我的nginx服务器上,该服务器用作多个网站和应用程序的反向代理。 目前它只在我的Joomla网站上build立 – https://www.webbsc.at 它在Windows IE 11和Windows Chrome上运行良好。 在任何浏览器和Android Chrome的Windows Firefox,Mac OS X上都失败了。 到目前为止,我还没有机会尝试使用其他浏览器/操作系统。 Firefox说它不能识别颁发者(sec_error_unknown_issuer),但我已经添加了中间证书。 另外,Windows中的Chrome可以显示正确的authentication层次结构,而Firefox只显示我的证书。 我在这里错过了什么? 更新: 迄今我尝试过的证书configuration: 我的证书 , 中级 我的证书 , 中级 , 根 my-cert , root , intermediate 所有这三个工作在IE浏览器,在Windows中的Chrome,没有任何其他浏览器工作 当我尝试了不同的中间证书时,它也不再适用于Windows,所以它应该是正确的中间证书。 再一次 – 当我打开关于证书的Firefox或Mac OS X的详细信息时,我看不到层次结构中的中间+根证书。 在Windows中,我可以看到它们以及用于testingSSL的网站(由第一个答案提供) 解: 正如你可以在答案的评论中看到的,我有一个错误的中间证书,它比其他错误的证书我试过的更好。
我在上游遇到问题。 当我通过https://secure.toto02.com/ords/pls/manitou/4550时,我得到了url http://backend/f?p=4550 ,出现404错误。 我想要做的是在导航器中保留https://secure.toto 02.com/ords/pls/manitou/4550 ,而上游将请求发送到http://192.167.1.79:8080/ords/f?p=4550 。 我想保持隐藏的请求。 我不知道nginx服务器configuration文件有什么问题。任何人都可以帮忙吗? upstream backend { server 192.167.1.79:8080; } server { listen 443 ssl spdy; server_name secure.toto02.com; ssl on; ssl_certificate /etc/nginx/ssl/server.crt; ssl_certificate_key /etc/nginx/ssl/server.key; location ~ "^/(.*)/pls/ords/(\d{1,4})$" { proxy_pass http://backend/ords/f?p=$2; } }