加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net – 使用nginx作为IIS服务器的反向代理

发布时间:2020-12-15 22:41:02 所属栏目:asp.Net 来源:网络整理
导读:我有多个ASP.NET应用程序在单个IIS服务器上运行,每个应用程序具有不同的端口. 我已经在同一个服务器上安装了nginx,以便我的客户端只能使用80端口访问我所有的应用程序. Nginx运行在80端口上.我的单个ASP.NET应用程序也启动并运行. 我在nginx conf文件中进行
我有多个ASP.NET应用程序在单个IIS服务器上运行,每个应用程序具有不同的端口.

我已经在同一个服务器上安装了nginx,以便我的客户端只能使用80端口访问我所有的应用程序.

Nginx运行在80端口上.我的单个ASP.NET应用程序也启动并运行.

我在nginx conf文件中进行了这些更改

location /students/ {
        proxy_set_header X-Real-IP  $remote_addr;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header Host $host;
        proxy_pass http://127.0.0.1:84;
    }
    location /registration/ {
        proxy_set_header X-Real-IP  $remote_addr;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header Host $host;
        proxy_pass http://127.0.0.1:82;
    }

然后我重新启动了nginx,并在浏览器中输入了url http://127.0.0.1/students/. Nginx提供了404页面.

我没有对conf文件进行任何其他更改.

我做错了什么?

解决方法

我相信你所遇到的问题与URL路径的开始有关.网址http://120.0.0.1:84/students/返回页面还是404?如果您希望访问http://127.0.0.1:80/students/并查看http://127.0.0.1/的页面,您会发现nginx不会使用此配置转换您的路径.相反,它在代理服务器上查找完全相同的路径.

您需要将/的结尾放在proxy_pass指令中:

location /students/ {
    proxy_set_header X-Real-IP  $remote_addr;
    proxy_set_header X-Forwarded-For $remote_addr;
    proxy_set_header Host $host;
    proxy_pass http://127.0.0.1:84/;
}

这是nginx配置中的一个微妙但重要的工具!如果不包含反斜杠,则http://127.0.0.1:84将被视为服务器位置.如果您有反斜杠,它将被视为一个URL,它将替换代理URL中的所有内容,直到“位置”部分.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读