这里是黄永亮的博客

服务器

CAS对接的坑,一个字母引发的惨案

有两个类定义如下 C 012  [crayon-5e9069ca5fe96148316462 inline="true" ]package org.apereo.cas.servicespublic abstract class AbstractRegisteredServiceAttributeReleasePolicy implements RegisteredServiceAttributeReleasePolicy { [/crayon] C 012  [crayon-5e9069ca5fe99901699564 inline="true" ]package org.apereo.c ...

记一次蜜汁BUG

hadoop任务出错 C 01234567891011121314  Diagnostics: Exception from container-launch.Container id: container_1528273359898_0016_02_000001Exit code: 255Stack trace: ExitCodeException exitCode=255:        at org.apache.hadoop.util.Shell.runCommand(Shell.java:545)        at org.apache.hadoop.util.Shell.run(Shell.java:456)   & ...

spring jmstemplate的坑

jmstemplate 发送文本消息的写法 第一种手动构造msg的话不需要做特殊处理,但是很麻烦 Java 012345678  private void sendMessage(String msg) {            jmsTemplate.send(new ActiveMQQueue(someQueueName), new MessageCreator() {                @Override     &nb ...

apache反向代理tomcat获取用户真实IP

校内CAS单点登录的审计日志中,用户的IP地址一直是服务器地址。这个问题拖了好久,今天终于解决了。 通过追查日志的来源,发现是自己实现了一个appender配置在了log4j中。 从这个类入手开始追查代码,最终发现IP的来源是通过request.getRemoteAddr这个方法来获得的。 而这个方法是来源于tomcat自身的servlet-api提供,返回的向tomcat发起请求的客户端IP。 但是一般情况下tomcat都会用nginx或apache代理tomcat,所以这个方法得到的IP就是服务器自身的IP而不是真实的远程IP了 而我又不想更改CAS的源码重新部署,所以只能想办法更改tomca ...

Linux使用代理服务器的异常

今天在ZFZ的CAS测试环境下配置代理,配置环境变量https_proxy和http_proxy=’xxx.xxx.xxx.xxx:port’之后发现还是上不了网 但是我在windows上测试是正常的,说明代理服务器没问题。 而curl可以正常使用,只有sudo git clone 不行 我怀疑是root下没有这个环境变量,去root下改.bashrc后再测试还是不行 于是尝试把这两个环境变量写到系统级别,/etc/profile的最后,source /etc/profile了还是不行 查度娘后发现sudo之后环境变量需要配置,于是在/etc/sudoers 加了这么一行,成功 Defaults env_keep += “http_proxy http ...

HTTPS证书制作和配置示例

今天在校内尝试从git.bistu.edu.cn克隆代码,使用https协议时候发现clone失败,于是开始实验,使用curl连接cas.bistu.edu.cn、x.bistu.edu.cn、chat.bistu.edu.cn、community.bistu.edu.cn、site.bistu.edu.cn 发现只有cas和site正常,其他的都报错了,但是浏览器访问并未发现错误。 联想之前ZFZ的safari访问git报错而我电脑的浏览器却没事,瞬间意识到之前配置的HTTPS可能很多都有问题。 经过一翻折腾,发现之前的补链不全导致有些浏览器无法识别完整的信任链,最终通过补链解决。 当Apache、IIS、Nginx都不报错之后,只有Tomcat还有 ...

gradle入门中文教程

—————————下面是废话,可以忽略—————————- 第一次见到gradle是在写Android的时Android Studio下方的提示,那时候还没有仔细研究。第二次是在搭建校内中央认证的时候,由于需要研究代码不得不从源码导入idea,但是官方只有一堆源码,没有任何idea的项目文件。idea的依赖是存在.idea文件夹下的xml中的,而这个项目的依赖都写在了gradle文件中,当时费了好多时间才把官方4.2.0的源码成功导入,手工解决各种依赖问题,我高 ...