如何解决如何为在不同端口上的同一台机器上运行的 2 个应用程序配置 Nginx 反向代理
在我的 aws ubuntu (18.04) 机器上,我有 2 个应用程序在 2 个端口上运行
(1) 我有一个 .net core 3.1 angular spa,身份服务器 4 在 5000 上运行,我使用以下步骤进行设置
nginx 只是一个反向代理
(2) 我有一个在 4000 端口上运行的 angular ssr 应用程序。
我想要实现的是反向代理将社交媒体机器人代理到端口 4000,而所有其他请求都代理到 5000。
目前 nginx 仅代理到端口 5000 上的 .net 核心应用
解决方法
您可以使用“location and proxy_pass”来访问在不同端口上运行的所需应用程序。
如果你在同一个虚拟机上拥有所有东西,只需使用 localhost 插入我写下的 ip 地址。
但是如果应用程序在另一个虚拟机上运行,请使用它的 IP 地址,在我的配置中,目标服务器是:172.16.0.100
您可以编辑主机文件并使用“example.com”或其他任何内容来指向您的站点并在您的 nginx 配置文件中使用,而不是 IP 或 localhost。
sudo vi /etc/hosts
172.16.0.100 example.com
并将您想要的 FQDN 添加到目标主机,或者如果您有一个 dns,请添加一个在整个本地网络中都可用的 AAAA 记录。
我在我的 nginx 服务器中编写了这个配置,它的工作原理非常棒。 无论如何,您可以根据自己的环境编写和编辑此配置。
server {
{
listen 80;
server_name 172.16.0.100;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
location /angular {
proxy_pass http://172.16.0.100:5000;
}
location /ssr {
proxy_pass http://172.16.0.100:4000;
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。