我可以使用重写和nginx的一点帮助…基本上我的应用程序的结构看起来像这样 Headdirectory — -APPBase -SomeMoreStuff -WWWDirectory .htaccess 所以当我打开HeadDirectory时,我需要redirect到WWWDirectory。 在Apache中,它使用htaccess和以下内容完成: RewriteEngine On RewriteRule ^(.*) www/$1 我已经在Nginx上试过了: location /Headdirectory { rewrite ^/(.*) /www/$1; } 而我试图创build一个别名,但没有工作… 如果有人能帮助我,那会很好。 祝你今天愉快
我在Apache中有以下configuration: RewriteEngine On #APP ProxyPass /abc/ http://remote.com/abc/ ProxyPassReverse /abc/ http://remote.com/abc/ #APP2 ProxyPass /efg/ http://remote.com/efg/ ProxyPassReverse /efg/ http://remote.com/efg/ 我想在nginx中有相同的configuration。 阅读一些链接后,这是我有: server { listen 8081; server_name localhost; proxy_redirect http://localhost:8081/ http://remote.com/; location ^~/abc/ { proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://remote.com/abc/; } location ^~/efg/ { proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; […]
你可以从$ remote_user中检查用户组吗? location ~ ^/dav/(.*)$ { alias /home/$remote_user/$1; auth_pam "Restricted"; auth_pam_service_name "nginx"; dav_methods PUT DELETE MKCOL COPY MOVE; dav_access group:rw all:r; create_full_put_path on; } location ~ ^/home/(.*)$ { alias /home/$1; #check the group of the $remote_user; } curl -T test.txt'http :// gert:[email protected]/dav/ ' curl'http:// friend:[email protected]/home/gert/test.txt '
我有两台机器,它们由一台主机提供服务。 主机定义了第一台机器10.10.0.59 server { listen 80; client_max_body_size 200M; server_name localhost 127.0.0.1; server_name_in_redirect off; location / { proxy_pass http://10.10.0.59; proxy_redirect default; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } location ^~ /dev/ { proxy_pass http://10.10.0.56; proxy_redirect default; proxy_set_header Host $http_host; rewrite /dev/(.*) /$1 break; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } dev机器是10.19.9.56 ,我需要(很有可能) /dev/到URLpath,以便我可以浏览它通过http://public_domain/dev/….. […]
我正在尝试为MediaWiki网站做简短的url。 wiki位于mydir子目录( http://www.example.com/mywiki )。 我已经在/etc/nginx/sites-available设置了重写,以便example.comredirect到example.com/mywiki。 目前这个url就像http://www.example.com/mywiki/index.php?title=Main_Page 。 我想清理url,使其看起来像http://www.example.com/mywiki/Main_Page 。 我这样做有点麻烦。 我不熟悉正则expression式或nginxconfiguration文件使用的语法。 这是我现在有: server_name example.com www.example.com; location / { rewrite ^.+ /mywiki/ permanent; } location /wiki/ { rewrite ^/mywiki/([^?]*)(?:\?(.*))? /mywiki/index.php?title=$1&$2 last; } 第二次改写显然是破碎的。 它基于MediaWiki文档中的Page title – nginx rewrite – root访问 。 当我尝试加载网站时,浏览器告诉我,我得到无限的redirect。 有谁应该怎么去解决这个问题? 或者说,实现这个的正确方法是什么?所有这些符号是什么意思?
我需要检测作为authentication用户的僵尸程序,并通过发送重复请求来使数据库的可用连接饱和。 我想知道是否有可能停止使用nginx伪指令他们? 这个想法是在nginxconfiguration中设置一些规则,以便在一个时间范围内(比如说每分钟30次)连接超过某些数字的IPS被自动拒绝。
我通过nginx提供了一个静态网站。 location ~* \.(avi|bin|bmp|dmg|doc|docx|dpkg|exe|flv|gif|htm|html|ico|ics|img|jpeg|jpg|m2a|m2v|mov|mp3|mp4|mpeg|mpg|msi|pdf|pkg|png|ppt|pptx|ps|rar|rss|rtf|swf|tif|tiff|txt|wmv|xhtml|xls|xml|zip)$ { root /var/www/html1; access_log off; expires 1d; } 我的目标是排除像http://connect1.webinar.ru/converter/task/请求。 完整视图就像http://mydomain.tld/converter/task/setComplete/fid/34330/fn/7c2cfed32ec2eef6788e728fa46f7a80.ppt.swf 。 尽pipe这些URL以这种格式结尾,但它们并不是静态的,而是伪造的脚本请求,所以我遇到了一些问题。 做这个的最好方式是什么? 如何添加这个URL的排除或者我可以从这个Nginx位置的列表中排除特定的文件exptension(.ppt.swf,pptx.swf)? 谢谢。
我正在尝试使用Gunicorn和NGINX来build立一个开发环境。 遵循本教程: http : //ijcdigital.com/blog/django–gunicorn-and-nginx-setup/ 我得到以下错误: (WebApp)sl@cker:~/MyApps/WebApp$ gunicorn_django –bind=127.0.0.1:8001 2012-07-12 14:04:30 [5997] [INFO] Starting gunicorn 0.14.5 2012-07-12 14:04:30 [5997] [ERROR] Connection in use: ('127.0.0.1', 8001) 2012-07-12 14:04:30 [5997] [ERROR] Retrying in 1 second. 2012-07-12 14:04:31 [5997] [ERROR] Connection in use: ('127.0.0.1', 8001) 2012-07-12 14:04:31 [5997] [ERROR] Retrying in 1 second. 2012-07-12 14:04:32 [5997] [ERROR] Connection […]
我有以下nginx服务器configuration: server { listen 80; server_name example.com root /server/root; index index.php; error_page 404 = /index.php; location ~ \.php$ { try_files $uri =404; proxy_pass http://127.0.0.1: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 X-Request-URI $request_uri; } } 我想要的行为是,当nginx遇到一个不存在的文件的请求,而是通过一个404页面显示index.php页面。 问题是似乎apache(这是什么被代理回来)仍然试图解决原来的请求,当它得到请求。 如果我去http://example.com/blahblah ,我找回错误: The requested URL /blahblah was not found on this server. 这是一个Apache错误。 […]
在过去的两周里,我一直在做这个工作,而且由于某种原因,我似乎无法得到nginx的try_files来使用我的wordpress永久链接。 我希望有人能够告诉我我错了什么,也希望告诉我,如果我对我的configuration做出任何重大错误(我是一个nginx新手…但学习:))。 这是我的configuration文件 nginx.conf user www-data; worker_processes 4; pid /var/run/nginx.pid; events { worker_connections 768; # multi_accept on; } http { ## # Basic Settings ## 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; ## # Logging Settings ## # Defines […]