nginx 反向代理到本地主机

nginx reverse proxy to localhost

我的 AWS EC2 实例 localhost:8080 上有应用程序 运行。

为了使用这些 Web 门户,我在 EC2 上安装了 nginx 并反向代理本地主机,以便我可以在浏览器上访问 Web UI。

Nginx.conf 文件

server {
    listen 80;
    server_name ec2-xx-xx-xxx-xxx.eu-central-1.compute.amazonaws.com;

    location / {
    proxy_pass http://localhost:8080;

   location /$request_uri {
   proxy_pass http://localhost$request_uri;

} 

}

在我的浏览器上点击 EC2 URL 时,我成功地看到了应用程序的主页。

但是当我点击任何 url 比方说 /admin 时,Nginx 重定向到我本地计算机的 localhost:8080/admin 而不是服务器的本地主机。 我想要的只是当点击任何 url 时 nginx 应该将请求转发给 localhost:8080{$URL} 并且 return 我是浏览器。

请指出我错在哪里。 提前致谢。

您不需要添加第二个位置。

location / {
    proxy_pass http://localhost:8080;
    proxy_set_header   Host $http_host;
    proxy_set_header   X-Real-IP $remote_addr;
    proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header   X-Forwarded-Proto $scheme;
}

这应该足以访问您需要的任何内容。