server {
listen 80;
server_name mikecrm.xianzhixiong.com;
# 上传文件大小限制
client_max_body_size 20M;
# 设置为on表示启动高效传输文件的模式
sendfile on;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
#access_log logs/host.access.log main;
location / {
#root html;
#index index.html index.htm;
proxy_pass http://mikecrm.com;
proxy_set_header Host mikecrm.com;
proxy_set_header Referer http://mikecrm.com;
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;
#proxy_request_buffering off;
proxy_set_header Accept-Encoding "";
sub_filter_types *;
sub_filter_once off;
#sub_filter_last_modified on;
sub_filter 'cdnq2.mikecrm.com' 'mikecrm.xianzhixiong.com';
sub_filter 'cdnq3.mikecrm.com' 'mikecrm.xianzhixiong.com';
sub_filter 'https://cdnq2plt.mikecrm.com' 'http://mikecrm.xianzhixiong.com';
sub_filter 'https://cdnq3plt.mikecrm.com' 'http://mikecrm.xianzhixiong.com';
sub_filter 'http://dlcn.mikecrm.com' '';
sub_filter 'http://mikecrm.com' '';
sub_filter 'https://mikecrm.com' '';
sub_filter 'www.mikecrm.com' 'mikecrm.xianzhixiong.com';
#sub_filter '.mikecrm.com' 'mikecrm.xianzhixiong.com';
#sub_filter 'mikecrm.com' 'mikecrm.xianzhixiong.com';
}
#location ~ \.php$ {
# proxy_pass https://real.mikecrm.com;
#}
#location ~ /plt.js$ {
# proxy_pass https://cdnq3plt.mikecrm.com;
#}
}
参数解释
注意只有在新版本nginx中才支持多sub_filter.
proxy_set_header Accept-Encoding ""; ?
设置这个得原因是:告诉后端不要进行gzip压缩. ?如果是gzip压缩流, 那么我们就没法进行替换了.
sub_filter_types *; ?
对所有请求响应类型都做sub_filter指定的替换.
sub_filter_once off;
sub_filter会执行多次而不是一次. 效果类似于java中的string.replaceAll而不是replace.
sub_filter 'str1'? 'str2';
替换字符串,str1是搜索的字符串,str2是最终被替换成的字符串
|