精华内容
下载资源
问答
  • 一:参考我之前写的那篇cas服务端配置的博客,由于两台服务器,一台做代理,一台做身份验证的话,需要引入cas的 cas-server-support-pac4j-webflow cas-server-support-oauth 扩展 详情可以参考 ...

    一:参考我之前写的那篇cas服务端配置的博客,由于两台服务器,一台做代理,一台做身份验证的话,需要引入cas的

    cas-server-support-pac4j-webflow
    cas-server-support-oauth
    扩展

    详情可以参考

    https://apereo.github.io/cas/4.2.x/integration/Delegate-Authentication.html#?tdsourcetag=s_pcqq_aiomsg

    https://apereo.github.io/cas/4.2.x/installation/OAuth-OpenId-Authentication.html?tdsourcetag=s_pcqq_aiomsg

    参照我之前的那篇博客,配置好之后在cas服务端主页会展示原本没有的内容

    二:配置代理

    其实很简单,首先配置两台cas服务端,现在假定A B两台,然后选择做成代理的那一台cas服务端,

    官方文档说修改 cas.properties或者WEB-INF/spring-configuration/pac4jContext.xml都可以,修改cas.properties文件没有成功,我选择修改WEB-INF/spring-configuration/pac4jContext.xml

    打开文件定位到A服务器的相应文件

    将value值里面的地址修改为自己要代理的那台服务器的登录地址,

    然后重启tomcat,然后在自己的A服务器上点击红圈内的链接,会跳转到B服务器上,

    验证身份通过的话,会再回调到自己的下图href里面的service地址

    展开全文
  • Linux做代理上网服务器

    千次阅读 2013-08-07 13:02:30
    Linux做代理上网服务器--送给那些想用Linux做网吧代理上网服务器的朋友 首先声明,会这个的老鸟不用看,我这只是给新手看的 首先安装好Linux,准备一台有两块网卡的服务器,一网卡接内网,另一网卡接外网,比如...
    Linux做代理上网服务器--送给那些想用Linux做网吧代理上网服务器的朋友
    首先声明,会这个的老鸟不用看,我这只是给新手看的
    首先安装好Linux,准备一台有两块网卡的服务器,一网卡接内网,另一网卡接外网,比如网吧外网IP为61.178.89.234 内网IP段为192.168.1.1-192.168.1.255
    服务器启动起来后,首先来配置eth0(外网的那块网卡,注意:eth0是外网网卡,eth1为内网网卡),给这个网卡分配地址61.178.89.234,运行下列命令:
    # ifconfig eth0 61.178.89.234 netmask 255.255.255.0
    编辑/etc/sysconfig/network-scripts/ifcfg-eth0文件,修改为如下格式: (注:按一下键盘上的Insert键转换为插入模式,然后才可以修改,修改完再按Esc 再输入 :wq 按回车保存并退出)
    DEVICE = eth0 注释:这是设备的名称
    ONBOOT = yes 注释:表示在系统启动时自动启动
    BROADCAST = 61.178.89.255 注释:这是广播地址
    NETWORK = 61.178.89.0 注释:网络地址
    NETMASK = 255.255.0.0 注释:子网掩码
    IPADDR = 61.178.89.234 注释:IP地址
    增加一条静态路由:
    # route add -net 61.178.89.0 netmask 255.255.255.0
    这样系统中就增加了一条静态路由: 可以输入route 命令查看
    61.178.89.0 * 255.255.255.0 U 0 0 0 eth0
    然后继续配置eth1,eth1与内网段相连,给它分配IP 192.168.1.1,使用ifconfig命令为它配置参数:
    # ifconfig eth1 192.168.1.1 netmask 255.255.255.0
    同样继续编辑/etc/sysconfig/network-scripts目录下的ifcfg-eth1文件,内容如下:
    DEVICE = eth1
    ONBOOT = yes
    BROADCAST = 192.168.1.255
    NETWORK = 192.168.1.0
    NETMASK = 255.255.255.0
    IPADDR = 192.168.1.1
    再增加一条静态路由:
    # route add -net 192.168.1.0 netmask 255.255.255.0
    网络中当前的路由表为: 可以输入route 命令查看
    61.178.89.0 * 255.255.255.0 U 0 0 0 eth0
    192.168.1.0 * 255.255.255.0 U 0 0 0 eth1
    这时再增加一条缺省路由,因为缺省的路由是把所有的数据包都发往它的上一级网关,使用如下命令:
    # route add default gw 61.178.89.1
    好了,现在路由表已经建立完了,我们输入命令route 看一下吧
    # route
    如果一切都顺利的话,应该是如下显示
    61.178.89.0 * 255.255.255.0 U 0 0 0 eth0
    192.168.1.0 * 255.255.255.0 U 0 0 0 eth1
    default 61.178.89.1 0.0.0.0 UG 0 0 0 eth0
    呵呵,现在基本上就差不多快完成了,继续往下看,你马上就要成功了:)
    最后一步,增加系统的IP转发功能,也可以加在rc.local里
    编辑/etc/rc.local
    # vi /etc/rc.local
    按一下键盘上的Insert键转换为插入模式,然后加入
    echo 1 > /proc/sys/net/ipv4/ip_forward
    再按Esc 输入 :wq 按回车保存并退出
    输入命令
    # iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE
    好了,现在去把内网机器的网关设为192.168.1.1,然后看看内网的机器能否上网了,如果想要服务器每次启动时自动代理上网,在rc.local加入
    /sbin/iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE
    展开全文
  • Nginx做代理的一次实践

    千次阅读 2017-12-10 11:56:10
    背景所在项目Go服务之前部署在测试机器上,最近再把Go的配置迁移到etcd,...方案Go服务部署到docker上,docker上的域名都是特定后缀结尾,这样会涉及到cookie等一些问题,所以考虑通过测试机的Nginx做代理。问题 htt

    背景

    所在项目Go服务之前部署在测试机器上,最近再把Go的配置迁移到etcd,但是因为etcd没有对应的测试环境,而公司里面网段是隔离的,导致了原本的Go服务再接入etcd之后跑不起来。

    • 让Go服务正常启动,
    • 其他依赖方,比如前端、网关少做修改

    方案

    Go服务部署到docker上,docker上的域名都是特定后缀结尾,这样会涉及到cookie等一些问题,所以考虑通过测试机的Nginx做代理。

    问题

    • http 426 报错:测试环境的http协议是1.0,而docker上的http协议是1.1,所以需要在nginx转发的时候,添加header头。如果是websocket可以参考下 https://www.nginx.com/blog/websocket-nginx/
    • http 404 报错:Nginx在做转发的时候,需要加上host header头,域名解析找到对应的主机,但是需要根据host信息,找到对应的服务。

    插曲

    再解决问题的时候,通过curl -I 在访问docker上的服务,一直提示404,但是通过curl直接访问的时候,正常。后来想到curl -I是通过head的方式请求。项目注册的路由请求方式是get,但是Iris的底层路由,404和405报错不能共存,iris默认会将404和405报错统一的转换成404报错。
    直接上代码

    pool.Run(w, r, func(context *iris.Context) {
                routePath := context.Path()
                for i := range mux.garden {
                    tree := mux.garden[i]
                    if !mux.methodEqual(context.Request.Method, tree.method) {
                        continue
                    }
    
                    if mux.hosts && tree.subdomain != "" {
    
                        requestHost := context.Host()
                        // println("mux are true and tree.subdomain= " + tree.subdomain + "and hostname = " + hostname + " host = " + requestHost)
                        if requestHost != hostname {
                            // we have a subdomain
                            if strings.Contains(tree.subdomain, iris.DynamicSubdomainIndicator) {
                            } else {
                                if tree.subdomain+hostname != requestHost {
                                    // go to the next tree, we have a subdomain but it is not the correct
                                    continue
                                }
                            }
                        } else {
                            //("it's subdomain but the request is not the same as the vhost)
                            continue
                        }
                    }
    
                    mustRedirect := tree.entry.getValue(routePath, context) // pass the parameters here for 0 allocation
                    if context.Middleware != nil {
                        // ok we found the correct route, serve it and exit entirely from here
                        //ctx.Request.Header.SetUserAgentBytes(DefaultUserAgent)
                        context.Do()
                        return
                    } else if mustRedirect && !context.Framework().Config.DisablePathCorrection { // && context.Method() == MethodConnect {
                        reqPath := routePath
                        pathLen := len(reqPath)
    
                        if pathLen > 1 {
                            if reqPath[pathLen-1] == '/' {
                                reqPath = reqPath[:pathLen-1] //remove the last /
                            } else {
                                //it has path prefix, it doesn't ends with / and it hasn't be found, then just add the slash
                                reqPath = reqPath + "/"
                            }
    
                            urlToRedirect := reqPath
    
                            statusForRedirect := iris.StatusMovedPermanently // StatusMovedPermanently, this document is obselte, clients caches this.
                            if tree.method == iris.MethodPost ||
                                tree.method == iris.MethodPut ||
                                tree.method == iris.MethodDelete {
                                statusForRedirect = iris.StatusTemporaryRedirect // To maintain POST data
                            }
    
                            context.Redirect(urlToRedirect, statusForRedirect)
                            // RFC2616 recommends that a short note "SHOULD" be included in the
                            // response because older user agents may not understand 301/307.
                            // Shouldn't send the response for POST or HEAD; that leaves GET.
                            if tree.method == iris.MethodGet {
                                note := "<a href=\"" + HTMLEscape(urlToRedirect) + "\">Moved Permanently</a>.\n"
                                // ignore error
                                context.WriteString(note)
                            }
                            return
                        }
                    }
                    // not found
                    break
                }
                // https://github.com/kataras/iris/issues/469
                if context.Framework().Config.FireMethodNotAllowed {
                    var methodAllowed string
                    for i := range mux.garden {
                        tree := mux.garden[i]
                        methodAllowed = tree.method // keep track of the allowed method of the last checked tree
                        if !mux.methodEqual(context.Method(), tree.method) {
                            continue
                        }
                    }
                    // RCF rfc2616 https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
                    // The response MUST include an Allow header containing a list of valid methods for the requested resource.
                    context.SetHeader("Allow", methodAllowed)
                    context.EmitError(iris.StatusMethodNotAllowed)
                    return
                }
                context.EmitError(iris.StatusNotFound)
            })
    
    展开全文
  • centos系统下nodejs项目通过nginx做代理 简单配置

    安装nginx

    yum -y install nginx
    如果安装成功,访问服务器地址就可以看到nginx默认页面。(如果是用的是阿里云专用网络,请设置安全组策略,添加入方向80端口)

    进入nginx安装目录

    cd /etc/nginx

    更改配置文件

    vim nginx.conf
    在http代码块中添加
    upstream mytest {
    server 127.0.0.1:3000
    }

    修改server代码块中
    server_name 127.0.0.1
    ...
    location / {
    proxy_pass http://mytest;
    }
    ...

    测试配置文件

    nginx -t

    重新加载配置文件

    nginx -s reload
    此时通过服务器地址访问的就是服务器上的3000端口

    展开全文
  • nginx做代理upstream之后 为了不用代理名称作为地址用原始请求作为地址(防止用代理地址样式等都找不到)     要配置: proxy_set_header Host $host;   proxy_set_header X-Real-IP $remote_addr;   ...
  • 最近使用Charles做代理处理,写好代理配置后但是一直提示网络失败,很心累,处理如下: 一般情况下,当用户手机配置完代理后电脑charles会弹出一个弹框,如果没有出现点击Proxy-&gt;Access control settings,...
  • 新手用Linux做代理服务器 三招搞定

    千次阅读 2015-08-28 20:11:31
    现在用Linux做代理服务的是越来越多,本人是小菜一个对这方面是一点都不懂想找人学。可是,某此人以钱为主,本来出钱也无所谓了只要能学到东西,本事能学到手也行。  可有些人太黑,竟要我1000+RMB,我一小网管...
  • 公司现在做的是医疗项目,现在使用的还全部是http网络协议;一方面现在数据是裸奔状态...   所以想自己先做一个完整的测试,为后续项目的更新打下基础;先说一下我的环境:centos6.5操作系统,用nginx做代理,网站部
  • 用Linux的iptables做代理服务器和防火墙配置详细介绍  代理/防火墙  1.iptables规则表  Filter(针对过滤系统):INPUT、FORWARD、OUTPUT  NAT(针对地址转换系统):PREROUTING、POSTROUTING、INPUT、...
  • 使用SSL验证和Nginx做代理搭建生产环境的Docker仓库 使用私有仓库有许多优点:  节省网络带宽,针对于每个镜像不用每个人都去中央仓库上面去下载,只需要从私有仓库中下载即可;提供镜像资源利用,针对于公司内部...
  • 无资金如何做代理(方案)

    千次阅读 2011-08-12 17:36:09
    (没有资金又想做代理经销创业的人比较多,从生产商的角度提出一套方案,供大家参考。)  条件:  1、必须做好前三个月或者更长时间没有任何收入的心理准备。  2、必须有200块或者更多费用支出的经济准备(除...
  • 用双网卡做代理服务器设置具体步骤 责任编辑:服务器学院02作者:网络 佚名 2006-05-20  【IT168 服务器学院】环境:假设在电信申请了固定IP,内网为192.168.0网段,外网宽带网段为10.150.224.0。外网...
  • 如何做代理

    千次阅读 2011-08-12 17:23:43
    上家关心的是每年的销售额,你完成量后,一般可以再根据量来返点....所以实打实认真销售,你就是一个好的代理商.(对于你自己公司内部管理也是很重要的,带好自己的团队,培养专业精神,那么成功只是时间问题) 一、
  • 用nginx做代理服务器上网

    千次阅读 2017-03-30 23:21:24
      jadedeMacBook-Air.local ...方法:能上网的一个代理web服务器中转,其他机器连接它即可。采用nginx Nginx配置如下: server{ resolver x.x.x.x; listen 82; location / { ...
  • 用nginx等做代理转发到本机时最好通过host配置目的地址为127.0.0.1,而不是在域名解析里解析域名。 原因:1.请求会白转一大圈再回去,浪费时间和资源。 2.如果有恶意攻击,攻击请求先到了nginx,然后nginx再把这个...
  • ubuntu安装squid做代理服务器

    千次阅读 2019-03-25 18:49:15
    lanhome为名称,10.25.16.0/24是网段和掩码,表示10.25.16子网所有设备,可以通过此代理上网。 3.2 搜索http_access allow ,在后面加入: http_access allow lanhome 3.3 注释http_access deny ... ,在...
  • 如何用Linux做代理服务器

    千次阅读 2006-06-19 13:25:00
    如何用Linux做代理服务器(最简单的做法,这里以RedHat9.0为例)需要配置:CPU: Pentium 133 Mhz内存: 32 MB硬盘:640 MB网卡:2块1.安装Linux,选择最小安装,把组件的勾全部去掉,除了配置一下IP,其它全部默认 安装好...
  • 大神们好,我这边有个IIS web服务器,里面了tomcat。我用IIS了转发之后,域名可以正常访问web界面。但是在用帐号登陆进去之后就会变成转发的那个IP地址+端口了。 那么怎么隐藏登陆之后的IP+端口呢?web登陆之后...
  • 使用tsocks做代理

    千次阅读 2011-11-17 15:33:12
    简单的说,就是通过preload的方式截取了系统的连接,从而为整个系统设置socks代理。 把步骤列在下面,用英文写的,凑合看吧:(系统:Ubuntu)   You can sudo apt-install tsocks Or you can
  • 只有webshell,一样可以做代理

    千次阅读 2016-03-30 01:18:20
    有时候要代理进内网,但是服务器没有外网端口,也没法执行命令反弹lcx什么的,也没有提权什么什么的,只有一个webshell,这个时候就比较蛋疼了。...然后配置一下本地的nginx,一个反向代理+rewrite就O
  • 使用Webpack前端开发时,本地localhost使用了Webpack-dev-server搭建一个服务,开发阶段如果想把对本地后台的请求改为对外网的请求,可以使用Charles开启代理,把路径修改为访问外网,Charles代理的配置如下。...
  • nginx做代理服务器的几种简单配置

    千次阅读 2018-11-24 17:04:00
    首先要知道nginx的代理相对于lvs不同是七层的代理,报文在流经PREROUTING时发现对方的目标IP是自己会将数据发往应用层,nginx的proxy模块会将数据解析然后以自己的ip地址为源地址发送给被代理的服务器。所以返回的...
  • git 使用socket5 做代理

    千次阅读 2018-05-08 22:13:00
    2019独角兽企业重金招聘Python工程师标准>>> ...
  • 关于C#使用socks5做代理

    千次阅读 2018-05-25 15:49:57
    在实际使用的过程中可能存在使用代理访问其他网站,以防因过度频繁访问,自己ip被封,如下提供C#使用socks5的大致代码,个人可以根据实际情况进行封装、加工。切勿乱用C#代码 public class LoadProxyHelper { ...
  • ext Ext.data.MemoryProxy做代理加载dom

    千次阅读 2010-07-25 22:12:00
    ext上用js读到这些xml串后,需要显示到Ext 的gird中。...后来去extjs官方论坛找到了答案,解决办法就是自己把xml串封装成dom对象,然后用Ext.data.MemoryProxy做代理 1.//load XML as string 2.var strXML = "";

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 30,285
精华内容 12,114
关键字:

做代理