nginx作为web服务器一个重要的功能就是反向代理。
nginx反向代理的指令不需要新增额外的模块,默认自带proxy_pass指令,只需要修改配置文件就可以实现反向代理。
配置前的准备工作,后端跑apache服务的ip和端口,也就是说可以通过http://ip:port能访问到你的网站。
nginx 新增配置
upstream apachephp {
server 11.101.115.192:8085; #Apache
}
server {
listen 8185;
server_name test.126.com;
access_log “/home/users/env/log/webserver/pm_access_log” main;
error_log “/home/users//env/log/webserver/pm-error_log”;
root html;
index index.html index.htm index.php;
location / {
proxy_pass http://apachephp;
#Proxy Settings
proxy_redirect off;
proxy_set_header Host host;proxysetheaderX−Real−IPremote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_max_temp_file_size 0;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
}
server 11.101.115.192:8085; #Apache
}
server {
listen 8185;
server_name test.126.com;
access_log “/home/users/env/log/webserver/pm_access_log” main;
error_log “/home/users//env/log/webserver/pm-error_log”;
root html;
index index.html index.htm index.php;
location / {
proxy_pass http://apachephp;
#Proxy Settings
proxy_redirect off;
proxy_set_header Host host;proxysetheaderX−Real−IPremote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_max_temp_file_size 0;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
}