server {
listen 80;
server_name 你的域名; # 例如www.example.com
access_log /var/log/nginx/host.access.log main;
error_log /var/log/nginx/error.log error;
location /api/ {
proxy_pass http://你的域名:端口号; #例如http://www.example.com:11001
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;
}
location / {
root /usr/share/nginx/html;
index index.html index.htm;
client_max_body_size 1000m;
add_header Cache-Control "public, max-age=31536000";
}
error_page 500 502 503 504 /50x.html;
location = /50.html {
root /usr/share/nginx/html;
}
gzip on; # 是否开启gzip
gzip_buffers 32 4K; # 缓冲(压缩在内存中缓冲几块? 每块多大?)
gzip_comp_level 6; # 推荐6 压缩级别(级别越高,压的越小,越浪费CPU计算资源)
gzip_min_length 1k; # 开始压缩的最小长度(再小就不要压缩了,意义不在)
gzip_types application/javascript text/css text/xml; # 对哪些类型的文件用压缩 如txt,xml,html ,css
gzip_disable "MSIE [1-6]\."; #正则匹配UA,配置禁用gzip条件。此处表示ie6及以下不启用gzip(因为ie低版本不支持)
gzip_http_version 1.1; # 开始压缩的http协议版本(可以不设置,目前几乎全是1.1协议)
gzip_vary on; # 是否传输gzip压缩标志
}
需要注意的是转发api时,如果转发url需要带上端口号,应该去掉proxy_pass最后的/
prox_pass http://www.example.com:11001
否则应该加上/
prox_pass http://www.example.com/