Nginx反向代理Gravatar支持https

发布于 2017-03-30 作者 [重庆SEO]

由于国内网络环境的原因,使用gravatar时能达到更佳的用户体验,对头像进行本地缓存是明智的选择!

因为我的博客VPS放在国外的,所以通过抓取图像缓存到本地的方案显得逼格不够,果断折腾NGINX反向代理方案!

最基础的NGINX配置如下即可生效

###------------------------------------------------------------
### gravatar.seonoco.com
###------------------------------------------------------------
server {
 listen 80;
 server_name gravatar.seonoco.com;

 location / {
 proxy_pass http://gravatar.com;
 }
} 

但由于我的博客使用HTTPS,所以gravatar.seonoco.com也得支持https,不然浏览器的小绿锁标识出不来,有个警告标识

博客主域名的证书用不上,子域名申请了letsencrypt证书后NGINX配置如下,暂时没有安装缓存proxy_cache模块,所以暂时注释掉!

###------------------------------------------------------------
### gravatar.seonoco.com
###------------------------------------------------------------
server {
 listen 80;
 listen 443 ssl http2;
 server_name gravatar.seonoco.com;
 access_log /www/gravatar/log/access.log main;

 ### ssl
 ssl on;
 ssl_certificate /etc/letsencrypt/live/gravatar.seonoco.com/fullchain.pem;
 ssl_certificate_key /etc/letsencrypt/live/gravatar.seonoco.com/privkey.pem;

 location / {
 proxy_cache cache;

 ### 200 304状态缓存7天,按实际情况修改
 #proxy_cache_valid 200 304 7d;
 ### 其他状态缓存(如502 404)10秒
 #proxy_cache_valid any 10s;
 ### 缓存key规则,用于自动清除缓存。
 #proxy_cache_key "$scheme$host$request_uri";
 proxy_pass http://gravatar.com;
 proxy_redirect off;
 ### 向后端传递访客ip
 proxy_set_header X-Real-IP $remote_addr;
 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
 ### 20为单ip连接数,200k为单ip连接速度
 #limit_conn one 20;
 #limit_rate 200k;
 }
}