好久没有用nginx服务器了,这次公司又用到了,就写写一般公司用nginx的反向代理把。
业务场景:由于我们是手机端只能访问一个ip,通过那个ip上部署的nginx来访问内网的项目,就需要在nginx上配置反向代理了。
##这里可以配置多个端口号,比如我们5000,5001,5002,5003分别是测试端口,正式端口等等
server
{
listen 5001;
server_name bt.cn www.bt.cn *.bt.cn;
index index.php index.html;
root /www/wwwroot/bt.cn;
#SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则
#error_page 404/404.html;
#SSL-END
#ERROR-PAGE-START 错误页配置,可以注释、删除或修改
error_page 404 /404.html;
error_page 502 /502.html;
#ERROR-PAGE-END
#PHP-INFO-START PHP引用配置,可以注释或修改
#PROXY-START
location /
{
proxy_pass http://125.88.182.170;
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 REMOTE-HOST $remote_addr;
#持久化连接相关配置
proxy_connect_timeout 30s;
proxy_read_timeout 86400s;
proxy_send_timeout 30s;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
add_header X-Cache $upstream_cache_status;
expires max;
}
//这里不能暴露我们项目,用aaa代替
//比如访问http://127.0.0.1:5001/aaa就会到这里配置的转发
location /aaa {
proxy_pass http://125.88.182.170:8080/aaa/;//跳转到这里
proxy_set_header Host $host:5001
include proxy.conf;
index index.html index.htm index.jsp index.do
}
#缓存清理必须放在这里才可以用到,这个清理方式就是http://url/purge/index.html
location ~ /purge(/.*) {
#allow 218.85.152.11;#你自己的上网IP#
#allow 127.0.0.1;#本地计划任务清理可用#
#allow 0.0.0.0/24;#全部IP可以清理缓存#
deny all;
proxy_cache_purge cache_one cache_one $1$is_args$args;
#access_log /www/wwwlogs/bt.cn_purge_cache.log;
}