[关闭]
@marlin 2016-11-25T04:50:44.000000Z 字数 1222 阅读 1152

数据开放网站“坑”记录

数据开放 互联网 网站


这个内容的github地址在这里

  1. nginx进行代理时再使用csrfguard会出现代理不正常

    解决方法:在stackoverflow上的这里

  2. 实现nginx动态代理多个web server(tomcat),并附带session共享

    解决方案:核心思路将session存储在redis中。实现思路在这里。还有一个工具包在这里

  3. csrfguard的使用

    解决方案:官网

  4. Kaptcha验证码的使用

    解决方案:配置说明文档,解决google jar包不能下载在这里

  5. spring中使用javax mail发送邮件

    解决方案:这里有教程

  6. nginx在进行负载均衡时使用的策略

    解决方案:在这里是负载均衡配置方式,考虑到手动指定down机这一行为几乎很难第一时间进行,因此应当充分利用max_failsfail_timeout这两个参数实现动态链接分配。有关nginx的更详细信息参考这里,但这个链接已经失效,想要看到还需要借助archive网站,当然这个神奇的网站在国内是看不到的,接下来的翻墙问题请自行解决(这个是无耻的翻墙广告

  7. nginx负载均衡时会遇到后端代理服务器down机的可能,当有一台机器down机后,nginx仍会尝试将链接分配给该机器,此时页面访问体验很差,出现页面无响应的情况。

    经排查发现nginx与后端服务器之间的链接参数中有proxy_connect_timeout,其默认值是60s,也就是说只有当后端60秒无响应才会做出后端服务失效的判断。把这个只修改为1。

  8. 完整版nginx配置如下:

    1. upstream my_server {
    2. #完成后端服务代理,使用轮询策略,max_fails是容忍失败次数,fail_timeout是失败次数达到上线后多长时间不再请求该服务器。
    3. server 192.168.31.195:8080 max_fails=3 fail_timeout=200s;
    4. server localhost:8081 max_fails=3 fail_timeout=200s;
    5. #keepalive 100;
    6. }
    7. server {
    8. listen 80;
    9. server_name localhost;
    10. underscores_in_headers on;
    11. #charset koi8-r;
    12. #access_log logs/host.access.log main;
    13. location / {
    14. #将所有请求转发到后端服务器。
    15. proxy_pass http://my_server/;
    16. proxy_set_header Host $host:$server_port;
    17. #对后端服务器进行连接时的超时时长,也就是说连接时超过该时长无响应,认定该服务器已经down机,这个时长影响用户体验,如果太大(默认是60),在用户浏览时一旦代理轮询到了down机的服务器,那么用户就要忍受太长的无响应。
    18. proxy_connect_timeout 1;
    19. }
    20. }
  9. nginx学习网站还是推荐官方文档

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注