squid 正向代理的简单配置

发布于 2023-07-15 21:04:24 字数 3440 浏览 30 评论 0

Linux 正向代理

项目上web服务器不给访问外网,迁移服务器环境又太麻烦,决定给 web 服务器做正向代理,刚开始使用 nginx,但是 http 代理一直不成功,后面大佬建议使用 squid 来达到相同目的,在不考虑安全和性能等其他问题下使用 squid 正式太简单了,下面进去正文_

这里先贴出 nginx 代理,http 没问题,但 https 不成功,如果有成功的希望留下几句指导一下,哈哈,谢谢

server {  
    resolver 114.114.114.114;      
    listen 10002;  
    location / {  
        proxy_pass http://$http_host$request_uri;
                proxy_set_header HOST $http_host;
                proxy_buffers 256 4k;
                proxy_max_temp_file_size 0k; 
                proxy_connect_timeout 30;
                proxy_send_timeout 60;
                proxy_read_timeout 60;
                proxy_next_upstream error timeout invalid_header http_502;
    }  
}  

server {  
    resolver 114.114.114.114;
    listen 10001;  
    location / {  
       proxy_pass https://$host$request_uri;
             proxy_buffers 256 4k;
             proxy_max_temp_file_size 0k; 
       proxy_connect_timeout 30;
       proxy_send_timeout 60;
       proxy_read_timeout 60;
       proxy_next_upstream error timeout invalid_header http_502;
    }  
} 

curl https://bizapi.jd.com/api/area/getProvince    # 在另外机器上面测试成

需要注意上面访问 https 时只能使用 http,但是我成功

配置 squid 代理

1.安装 squid

yum -y install squid    // centos 环境

2.修改内核参数,打开 ip 转发

vim /etc/sysctl.conf    # 修改0为1 :# net.ipv4.ip_forward = 1
sysctl -p    # 使内核参数修改生效

3.简答修改 squid 配置文件

vim /etc/squid/squid.conf 
# 将后面的 http_access deny all 修改为 :# allow
# 将 http_port 修改为自己指定的代理端口:10001

4.启动 squid

service start squid

5.测试代理

curl --proxy 192.168.6.166:10001 https://www.baidu.com

6.配置全局代理 vim /etc/profile

export http_proxy=http://192.168.99.99:10001
export https_proxy=http://192.168.99.99:10001

7.再次测试

curl --proxy 192.168.6.166:10001 https://www.baidu.com    #成功

为 jvm 参数设置 http/https 代理

上面我们只是设置了服务器的 http 代理,程序并不能使用,还需要设置 jvm 参数,不然java程序是使用不了服务器的全局http代理的,你可以修改 java 代码设置 http 代理,也可以添加 jvm 参数,这里选择修改 jvm 比较方便

# 修改 Tomact 的 startup.sh 或者 catalina.sh 脚本,添加如下
# ----- Execute The Requested Command -------
#add jmx
export CATALINA_OPTS="$CATALINA_OPTS -Dhttp.proxySet=true"
export CATALINA_OPTS="$CATALINA_OPTS -Dhttps.proxyHost=192.168.6.166"
export CATALINA_OPTS="$CATALINA_OPTS -Dhttps.proxyPort=10001"

#注意:这里我只配置了 https,你也可以添加 http 和不代理的
-Dhttp.proxySet=true
-Dhttp.proxyHost=proxy.xyz.com
-Dhttp.proxyPort=8080
-Dhttps.proxyHost=proxy.xyz.com
-Dhttps.proxyPort=8080
-Dhttp.nonProxyHosts=*.xyz.com
-Dhttps.nonProxyHosts=*.xyz.com

至此,squid 代理 web 服务器访问外网成功!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

始终不够

暂无简介

0 文章
0 评论
24 人气
更多

推荐作者

醉城メ夜风

文章 0 评论 0

远昼

文章 0 评论 0

平生欢

文章 0 评论 0

微凉

文章 0 评论 0

Honwey

文章 0 评论 0

qq_ikhFfg

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文