首页 技术 正文
技术 2022年11月8日
0 收藏 493 点赞 1,709 浏览 1989 个字

linux 正向同步

项目上web服务器不给访问外网,迁移服务器环境又太麻烦,决定给web服务器做正向代理,刚开始使用nginx,但是https代理一直不成功,后面大佬建议使用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,但是http代理成功了,https未成功

配置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服务器访问外网成功!

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,488
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,903
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,736
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,487
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:8,127
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:5,289