如何将所有请求从Nginx转发到.net核心应用

时间:2018-11-19 18:17:11

标签: nginx asp.net-core .net-core ubuntu-16.04

我已使用nginx将.net核心Web应用程序部署到Ubuntu 16.04服务器,我想将所有传入请求发送到.net核心应用程序。我从这里here使用了教程。我的网站可用/默认文件

server {
listen 80;

server_name example.com *.example.com;

location / {
    proxy_pass         http://localhost:5000;
    proxy_redirect     off;
        proxy_http_version 1.1;
        proxy_set_header   Upgrade $http_upgrade;
        proxy_set_header   Connection keep-alive;
        proxy_set_header   Host $host;
        proxy_cache_bypass $http_upgrade;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Proto $scheme;   
}   

当我想传递参数以动态更改图像大小时,除一项操作外,其他所有操作都正常运行

http://example.com/api/files/get/5beffcb65a8e8f1c700a1a22/image?w=400&h=400

在这种情况下,我会收到404错误。 Nginx返回的错误。我通过curl在本地对其进行了测试,并直接向我的.net核心应用发出了请求,并且效果很好。

那么如何配置nginx以将具有所有参数的所有请求原样发送到我的.net核心应用程序?

1 个答案:

答案 0 :(得分:0)

不要将proxy-redirect设置为off。请参考此链接以获取说明:

https://unix.stackexchange.com/questions/290141/nginx-reverse-proxy-redirection