nginx proxy_pass 和 LAN 内的虚拟主机返回 404

nginx proxy_pass 和 LAN 内的虚拟主机返回 404

我希望这有意义。基本上,我已经使用 nginx 在 MAC 上设置了一个本地服务器,并为 proxy_pass 设置了以下规则:

    location /engine/rest {
        proxy_pass http://somedomain:9080/engine/rest;
    }

    location /engine/ {
        alias /data/www/pln/;
        index index.html;
    }

    location / {
        root /Applications/MAMP/htdocs/;
        index index.html index.htm index.php;
    }

我还运行一个 MAMP 来提供虚拟主机,以便我可以从我的 Windows PC 访问它,使用以下配置:

   <VirtualHost *:9090>

       DocumentRoot "/Applications/MAMP/htdocs"
       ServerAdmin root@localhost
       ServerName localhost

       <Directory /Applications/MAMP/htdocs/>
           AllowOverride All
           Order allow,deny
           Allow from all
       </Directory>

   </VirtualHost>

我在 Windows PC 中添加了以下主机配置:

   192.168.1.3 machost

但是当我在 Windows 上访问我的应用程序时,它会对来自的任何资源返回 404 错误 http://machost:9090/engine/test/someurl,而这些资源应该在 nginx 规则中传递。

我想我也需要在 nginx 环境中添加 vhost 配置,但我不是服务器专家(显然)。我应该怎么做?

答案1

我不确定,但我认为你应该用类似这样的方法更改 default.conf

server {
    listen localhost:9080; #your public ip or some other which you want nginx listen
    server_name _;  
    location / {
              proxy_pass http://locahost; #site which is on apache
                }
   }

我不确定我是否理解了这个问题,如果我的回答不正确,我真的很抱歉。

相关内容