我正在尝试在我的网络上设置NGINX反向代理,它当前正在Ubuntu VM上运行 . 我想运行一个在IIS中运行的网站,以及在同一公共IP地址后面的Linux VM中运行Apache的另一个站点 . NGINX似乎是完美的解决方案 .
我跟着几个指南,似乎无法让一切正常 . NGINX配置似乎在本地工作,如果我直接访问NGINX VM的IP它为我提供默认配置,我甚至可以在IIS站点或Apache站点之间更改它,并让它在本地工作 . 我的问题是任何外部连接 .
以前我的pfSense路由器设置为将端口80和443转发到IIS VM,这工作正常,所以我知道在基本级别pfSense能够将这些端口转发到该Windows客户端 . 一旦我进入NGINX设置,我将我的端口向前改为80和443指向运行NGINX的VM . 现在我的网站都不会工作,域的IP地址解析为我的公共IP,但请求超时/永远不会到达任何Web服务器 .
nginx.conf是默认的,我没有做任何更改 .
default nginx host conf:
server {
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
server_name _;
location / {
return 404;
}
}
Apache host conf:
server {
listen 80;
server_name domain.com;
location / {
proxy_pass http://0.0.0.0:80; # Apache internal IP
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
pfSense Port 80 Rule:
Action: Pass
Interface: WAN
Address Family: IPv4
Protocol: TCP
Source: Any
Destination: NGINX VM IP
From: 80
To: 80
我没有在控制台,NGINX日志等中收到任何错误消息 . 我老实说不知所措 . 任何建议将不胜感激 .
1 回答
你设置它,所以Apache转发到Nginx . 您的Nginx文件没有转发任何内容 . 如果Nginxis将成为反向代理,那么Apache配置文件中显示的位置/ 组件需要位于Nginx配置文件中 . 另外,我会更改“服务器名称_”以在Nginx文件中显示您的域名 .