如何在 nginx 上向最终用户显示本地主机上的网页?

如何在 nginx 上向最终用户显示本地主机上的网页?

我在嵌入式设备上运行两个不同的服务。一个位于 localhost:4444,另一个位于 localhost:8082。(位于 :4444 的服务会自动将登录尝试转发到 localhost:8082)。

我希望它们都位于 nginx 反向代理之后。

第一个服务的 nginx conf 如下

location /myauth {
   proxy_pass http://localhost:4444/oauth2/auth?client_id=client123;
   proxy_http_version 1.1;
   proxy_set_header Upgrade $http_upgrade;
   proxy_set_header Connection $connection_upgrade;
   proxy_set_header X-Forwarded-For $remote_addr;
   proxy_redirect http://localhost:8082/auth/ http://$host:8082/auth/;      
}

这工作正常。流程是,我访问 URL 192.168.1.1/myauth,然后被重定向到http://192.168.1.1/oauth2/,然后再次移动到 http://192.168.1.1:8082/auth/login?login_challenge=97eaa2ee59f8468b98d00bc0cb24b7b6

问题是,当我输入我的登录详细信息并进行身份验证时,我被移回到http://localhost:4444/oauth2/auth?client_id=testclient&login_verifier=a361d65d7f3742c78510a10a63d681d5&response_type=token我的浏览器,并且由于 localhost:4444 在我的工作站上不存在,因此返回错误。

如何从最后一步中删除本地主机并让 nginx 返回正确的地址?

相关内容