我希望这有意义。基本上,我已经使用 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
}
}
我不确定我是否理解了这个问题,如果我的回答不正确,我真的很抱歉。