请参阅下面的 nginx 配置文件。
基于虚拟名称的托管 (example.com),将 example.com 和 www.example com 的请求传递给端口 9000 (127.0.0.1:9000) 上的单声道 fastcgi-process
我添加了文件 google-site-verification,但是问题是,asp.net fastcgi-application 是一个 MVC 应用程序,所以它没有找到名为“google79af7e588a34905e0.html”的控制器。
我正在尝试覆盖虚拟主机配置文件中的位置,因此它不会将 google79af7e588a34905e0.html 的请求转发到 fastcgi 应用程序,但它不起作用。
我已经重新启动了 nginx,但它没有任何区别......
我做错了什么?我尝试删除“location = /”中的等号,但这不起作用,我尝试在主要位置之前移动位置覆盖,但这也没有什么区别。我也前后更改了主机名,只是为了看看我是否在正确的配置文件中,而且当我更改域名时,我开始得到 404。
##
# You should look at the following URL's in order to grasp a solid understanding
# of Nginx configuration files in order to fully unleash the power of Nginx.
# http://wiki.nginx.org/Pitfalls
# http://wiki.nginx.org/QuickStart
# http://wiki.nginx.org/Configuration
#
# Generally, you will want to move this file somewhere, and start with a clean
# file but keep this around for reference. Or just disable in sites-enabled.
#
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
##
server {
listen 80;
server_name www.example.com example.com;
access_log /var/log/nginx/your.domain1.xyz.access.log;
location / {
root /home/example/www/homepage;
#index index.html index.htm default.aspx Default.aspx;
#fastcgi_index Default.aspx;
fastcgi_pass 127.0.0.1:9000;
include /etc/nginx/fastcgi_params;
}
#http://serverfault.com/questions/477103/how-do-i-verify-site-ownership-on-google-webmaster-tools-through-nginx-conf
location = /google79af7e588a34905e0.html {
rewrite ^/(.*) $1;
return 200 "google-site-verification: $uri";
}
location /doc {
root /usr/share;
autoindex on;
allow 127.0.0.1;
deny all;
}
location /shared_images {
root /usr/share;
autoindex off;
}
error_page 404 /CustomErrors/404.htm;
# redirect server error pages to the static page /50x.html
#
#error_page 500 502 503 504 /50x.html;
#location = /50x.html {
# root /usr/share/nginx/www;
#}
}
根定义上方的位置可以解决问题
无需任何重写。
我会选择这种设置:
这里我们使用 nginx
try_files
指令来检查文件是否物理地存在于文件系统中。如果文件不存在,则将请求传递到 MVC 后端。我还用
root
指令替换了位置内部的alias
指令,因为这使配置更直观,至少我是这样看的。此设置还使 nginx 服务器成为所有静态资产,而不是让 MVC 后端也处理这些请求。您可能需要调整主
server
块root
指令。但是,此设置需要文件系统上的实际文件。