+
95
-

回答

比如我们想通过nginx来建一个github镜像站,我们假设你的域名是www.example.com,当你打开这个域名的时候,内容其实是www.github.com;

那么我们只要在nginx.conf下增加一下配置文件:

server {
server_name www.example.com;

location / {
proxy_pass https://www.github.com/;

proxy_redirect https://www.github.com/ /;
proxy_COOKIE_domain github.com www.example.com;

proxy_set_header User-Agent $http_user_agent;
#proxy_set_header COOKIE "PREF=ID=047808f19f6de346:U=0f62f33dd8549d11:FF=2:LD=zh-CN:NW=1:TM=1325338577:LM=1332142444:GM=1:SG=2:S=rE0SyJh2W1IQ-Maw";
# 这里设置COOKIE,这里是别人给出的一段,必要时请放上适合你自己的COOKIE
# 设置这个可以避免一些情况下的302跳转,如果github服务器返回302 redirect,那么浏览器被跳转到github自己的域名,那就没的玩了

proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

subs_filter http://www.github.com http://www.example.com;
subs_filter https://www.github.com http://www.example.com;
# 这里替换网页中的链接,因为我们的镜像站是http的,所以上面顺便把协议也一起替换了
}
}


网友回复

我知道答案,我要回答