当Nginx作为反向代理服务器时,可以将客户端的请求转发到Apache服务器。例如,假设有一个网站,Nginx监听在80端口,Apache监听在8080端口。Nginx可以配置如下:
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://apache_server_ip:8080;
proxy_set_header Host $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;
}
}
在这个配置中,Nginx会将所有来自客户端的请求转发到Apache服务器的8080端口。同时,Nginx还会将原始的Host和客户端的真实IP地址传递给Apache服务器。
同样地,Apache也可以作为反向代理服务器将请求转发到Nginx服务器。例如,假设Apache监听在80端口,Nginx监听在8080端口。Apache可以配置如下:
<VirtualHost *:80>
ServerName example.com
ProxyPass / http://nginx_server_ip:8080/
ProxyPassReverse / http://nginx_server_ip:8080/
ErrorLog ${APACHE_LOG_DIR}/error.log #可以不加
CustomLog ${APACHE_LOG_DIR}/access.log combined #可以不加
</VirtualHost>
在这个配置中,Apache会将所有来自客户端的请求转发到Nginx服务器的8080端口。