Bigbyto 的小博客

Spring 获取客户端真实IP地址

相信很多人都遇到过,使用HttpServletRequest的getRemoteAddr()方法获取客户端IP得到的是127.0.0.1或0:0:0:0:0:0:0:1。出现这种情况多半是因为:

  1. 本地访问
  2. 设置了反向代理,通过反向代理访问

本地访问好说,不用解决,是正常现象。如果是反向代理,需要获取http头X-Forwarded-For(前提是有正确设置)。

String ip = request.getHeader("x-forwarded-for");

if (StringUtils.isEmpty(ip)) {
    ip = request.getRemoteAddr();
}

上面代码可以解决反向代理的问题,不过代码不够健壮,存在安全隐患。想知道为啥,请接着往下看。

Read more

使用Dnsmasq Debug微信JSSDK

微信公众号提供的jssdk限制很多,其中一个就是必须在安全域名之下才能成功调用微信的api,这样在本地就无法调试。本文介绍使用Dnsmasq突破这个限制,实现在本地调试公众号的js api。

Read more

导入OSM(openstreetmap)数据到Mysql

Mysql5.7后对GIS添加了很多支持,如innodb和geohash等等特性。最近想测试一下Mysql内部函数计算距离的性能,偶然发现了OpenStreetMap这个网站。你可以OpenStreetMap下载到全球的地理信息位置,下载的格式为OSM。

找了一些资料很多都是导入postgresql,折腾了一下午,终于成功导入mysql了。下面是流程

Read more

I'm back

你好,欢迎来到wiyi.org。我又回来啦,现在我叫Bigbyto了,有没有觉得这名字很酷? 以后我会在博客分享自己的一些工作经验,以及平时学习的笔记。

虽然现在国内的服务很多,找出几个好用的,有流量的也不难。不过我还是更喜欢自由的感觉,能呼吸自由的空气,麻烦一点也是值得的呢~

Read more