静态文件代理: nginx作为web服务器, 供外界访问html
服务代理: 将域名解析到对应的服务上, 或者负载均衡处理请求
nginx作为web服务, 对外提供单页面应用
server {
# 监听端口
listen 80;
# 域名
server_name www.baidu.com;
location / {
# 静态文件存放的位置
root /bz/frondend/jhtadmin;
# 默认的访问页面
index index.html index.htm;
# 如果为vue等单页面应用时, 需要添加这个, 否则不能访问
try_files $uri $uri/ /index.html;
}
}
nginx作为web服务, 对外提供单独的静态页面(如多个协议静态页面)
server {
listen 80;
server_name www.baidu.com;
location / {
# 静态文件存放位置, 还可以有子目录, 如statis目录下面有 protocol目录存放各种协议文件html
# 如:
# 文件存放地址: /bz/frondend/static/name.html --> 访问地址: www.baidu.com/name.html
# 文件存放地址: /bz/frondend/static/protocol/register.html --> 访问地址: www.baidu.com/protocol/register.html
root /bz/frondend/static;
}
}
nginx作为服务器代理:
# 添加前端请求前缀为"/back/api"的接口代理配置
location /back/api {
# 获取前端请求路径"/back/api/"之后的所有地址内容
rewrite ^/back/api/(.*)$ /api/$1 break;
# 接口真实的请求地址.
# rewrite和proxy_pass作用的最终结果为, 访问 http://localhost:2200/api/xxxx 的接口
proxy_pass http://localhost:2200;
proxy_read_timeout 3600s;
#proxy_send_timeout 100s;
proxy_set_header Host $host; #保留代理之前的host
proxy_set_header X-Real-IP $remote_addr ;#保留代理之前的真实客户端ip
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header HTTP_X_FORWARDED_FOR $remote_addr; #在多级代理的情况下,记录每次代理之前的客户端真实ip
proxy_redirect default; #指定修改被代理服务器返回的响应头中的location头域跟refresh头域数值
}