Amazon web services nginx本地主机反向代理
我的应用程序运行在AWS EC2实例的localhost:8080上 为了使用这些Web门户,我在EC2上安装了nginx,并反转了代理localhost,以便在浏览器上访问Web UI Nginx.conf文件Amazon web services nginx本地主机反向代理,amazon-web-services,nginx,reverse-proxy,nginx-reverse-proxy,Amazon Web Services,Nginx,Reverse Proxy,Nginx Reverse Proxy,我的应用程序运行在AWS EC2实例的localhost:8080上 为了使用这些Web门户,我在EC2上安装了nginx,并反转了代理localhost,以便在浏览器上访问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
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会重定向到本地计算机的本地主机:8080/admin而不是服务器的本地主机。
我想要的是,当点击任何url时,nginx应该将请求转发到localhost:8080{$url},并将浏览器返回给我
请指出我错在哪里。
提前感谢。您不需要添加第二个位置
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;
}
这应该足以访问您需要的任何内容。第二条规则中缺少localhost的正斜杠。所以“http://localhost”,而不是http:localhost。我这样做了,但得到了相同的问题使用location/admin,您可能必须将其置于location/rule之上。我想你的第一条规则是你要找的通配符。它将所有内容传递给localhost。