千帆应用域名绑定设置
===
## 为什么要绑定
1. 单一域名分享过多会被腾讯微信屏蔽,有一家被屏蔽便会造成所有站点不能使用千帆活动,使用自定义域名可避免受此类情况影响
2. 站点可以使用自定义域名展示H5活动,在网友看来更官方
3. 千帆已购买DNSPOD高级套餐,保障解析率,但各地运营商层面仍存在DNS劫持情况,造成无法访问,使用自定义域名可避免此风险
4.
## 怎么绑定
自定义域名(例: `abc.xyz.com`)由站点自行配置,使用反向代理到千帆服务器(`app.qianfanyun.com`),代理时需包含`X-Forwarded-Host`和`X-Forwarded-For`变量为当前域名,程序通过此变量获取正确域名,否则用户会被跳转到`app.qianfanyun.com`。
### NGINX
##proxy cache 配置 可选 在nginx的http里添加
http {
... #其他的配置
proxy_connect_timeout 60;
proxy_read_timeout 600;
proxy_send_timeout 600;
proxy_buffering off;
proxy_next_upstream error timeout invalid_header http_502;
proxy_cache_path /var/tmp/proxy_cache levels=1:2 keys_zone=qfapp:300m inactive=1d max_size=1g;
proxy_cache_valid 200 301 302 30m;
proxy_temp_path /var/tmp/proxy_temp;
proxy_headers_hash_max_size 51200;
proxy_headers_hash_bucket_size 6400;
}
server {
listen 80;
server_name abc.xyz.com;
access_log /home/logs/app.access_log; #自行根据服务器情况配置
error_log /home/logs/app.error_log; #自行根据服务器情况配置
index index.php;
... #其他需要的配置
#proxy cache 配置 可选
location ~* ^.+\.(js|css|ico|jpe?g|gif|png|eot|svg|ttf|woff|woff2)$ {
access_log off;
error_log /dev/null;
expires 10m;
add_header Cache-Control "public, must-revalidate, proxy-revalidate";
proxy_cache qfapp;
}
#代理配置
location ~ ^/ {
proxy_set_header X-Forwarded-Host $host;#一定要
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;#一定要
}
}
### APACHE
<VirtualHost *:80>
ServerName abc.xyz.com
ServerAlias abc.xyz.com
Options MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Proxy>
</VirtualHost>
### 说明
使用其他服务器如IIS的站长可以根据实际情况进行配置,注意`X-Forwarded-Host`和`X-Forwarded-For`必须传递到后端来,否则会造成用户访问状态丢失等状况。
## 关于二次分享 前期小编与各位站长沟通要求将`qianfanyun.com`加入微信公众号设置JS安全域名中,现在绑定自定义域名的话需要将当前绑定的自定义域名添加到JS安全域名中。设置方法不清楚的可以联系对接小编沟通。