带有Sinatra&Passenger的NginxHttpAuthBasicModule

我正在使用Nginx从Sinatra应用程序提供静态页面。

我已经使用NginxHttpAuthBasicModule实现了网站上的一个页面的基本身份validation,身份validation成功,但Nginx无法parsing链接。 错误日志给出 –

2010/03/22 12:15:19 [error] 7143#0: *2902 open() "/home/me/live/mysite_home/public /mypage" failed (2: No such file or directory), client: 82.71.18.122, server: mysite.com, request: "GET /mypage HTTP/1.1", host: "mysite.com" 

实际的文件位于:

  /home/me/live/mysite_home/live/mypage.erb 

configuration文件是:

 server { listen 80; server_name mysite.com; root /home/me/live/mysite_home/public; passenger_enabled on; location /mypage { auth_basic "Restricted"; auth_basic_user_file htpasswd; } } server { listen 443; server_name mysite.com; root /home/me/live/mysite_home/public; passenger_enabled on; ssl on; ssl_certificate /etc/nginx/conf/certs/server.crt; ssl_certificate_key /etc/nginx/conf/certs/server.key; keepalive_timeout 70; location /mypage { auth_basic "Restricted"; auth_basic_user_file htpasswd; } } 

不知道这是一个Sinatra,乘客或Nginx的事情,或者如果我只是失去了一些东西。

只需要添加

 passenger_enabled on; 

位置块内

 server { listen 80; server_name mysite.com; root /home/me/live/mysite_home/public; passenger_enabled on; location /mypage { passenger_enabled on; auth_basic "Restricted"; auth_basic_user_file htpasswd; } } 

卫生署!

实际的文件位于:/home/me/live/mysite_home/live/mypage.erb

configuration文件是:root / home / me / live / mysite_home / public;

configuration文件在path中提到一个目录“public”。 而实际的文件path不包含这个。 这是一个错字吗?