这是我在Nginx的第一步,所以任何帮助都会很棒。
我有一个由两个容器组成的小型docker-compose应用程序: nginx的 上传
Nginx端口80在主机上公开,因此可以从我们的内部网访问Nginx,如下所示:www.mytest.net 我现在将asp.net核心站点“upload”暴露在该地址的子路径上,如: www.mytest.net/upload /
目前,我无法实现这一点,如果我尝试将其移至路径上传,上传的每个URL等都无效,我不确定是否必须配置NGINX,asp.net核心或两者都不同
Nginx.conf中的当前配置:
location / {
proxy_pass http://upload:80;
# The default minimum configuration required for ASP.NET Core
# See https://docs.asp.net/en/latest/publishing/linuxproduction.html?highlight=nginx#configure-a-reverse-proxy-server
proxy_cache_bypass $http_upgrade;
# Turn off changing the URL's in headers like the 'Location' HTTP header.
proxy_redirect off;
# Forwards the Host HTTP header.
proxy_set_header Host $host;
# The Kestrel web server we are forwarding requests to only speaks HTTP 1.1.
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
# Adds the 'Connection: keep-alive' HTTP header.
proxy_set_header Connection keep-alive;
}
}
就像我说的,它适用于“/”,但如果我使用“上传”,由于网址不匹配,上传网站上的简单表单将不再有效。
答案 0 :(得分:2)
阅读HttpContext.Request.PathBase和一个名为UsePathBase的新扩展。这些有助于隔离应用程序根URL,因此它不会弄乱您的路由。