当前位置: 首页 > news >正文

安全达标建设网站惠阳住房和建设局网站

安全达标建设网站,惠阳住房和建设局网站,电脑报价网站,如何上传自己的做的网站一、背景 使用场景大总结#xff0c;可作为参考手册用 nginx正向代理从安装到使用一网打尽系列#xff08;一#xff09;安装 nginx正向代理从安装到使用一网打尽系列#xff08;二#xff09;使用 二、使用场景 1、所有内网应用都不能直接访问外网#xff0c;但需要… 一、背景 使用场景大总结可作为参考手册用 nginx正向代理从安装到使用一网打尽系列一安装 nginx正向代理从安装到使用一网打尽系列二使用 二、使用场景 1、所有内网应用都不能直接访问外网但需要能通过内部的外网代理服务器访问 2、自己不能上网蹭别人的网局域网代理软件Ccproxy也是一种正向代理 3、大家访问外国网站使用的梯子翻墙也是一种正向代理 三、环境 - Nginx 2.27.13   官方下载地址Nginx 1.27.3 - ngx_http_proxy_connect_module 1.27.1   官方下载地址ngx_http_proxy_connect_module 四、接口(级)使用代理 1、http接口使用代理 -》openfeign 说明: 应用级, 同时也可以通过proxySelector作为接口级来用 第一步配置文件允许覆盖Bean spring:main: allow-bean-definition-overriding: true 第二步配置Bean package person.brickman.config;import okhttp3.*; import org.springframework.cloud.commons.httpclient.DefaultOkHttpClientFactory; import org.springframework.cloud.commons.httpclient.OkHttpClientFactory; import org.springframework.cloud.openfeign.EnableFeignClients; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;import java.io.IOException; import java.net.InetSocketAddress; import java.net.Proxy;Configuration //配置openfein接口的文件件路径 EnableFeignClients(basePackages com.ciih.refine.server) public class Config {Beanpublic OkHttpClientFactory okHttpClientFactory(OkHttpClient.Builder builder) {return new ProxyOkHttpClientFactory(builder);}static class ProxyOkHttpClientFactory extends DefaultOkHttpClientFactory {public ProxyOkHttpClientFactory(OkHttpClient.Builder builder) {super(builder);//配置IP、端口Proxy proxy new Proxy(Proxy.Type.HTTP, new InetSocketAddress(10.40.3.XXX , 9999));builder.proxy(proxy);builder.proxyAuthenticator(new Authenticator() {Overridepublic Request authenticate(Route route, Response response) throws IOException {//设置代理服务器账号密码String credential Credentials.basic(admin, admin);return response.request().newBuilder().header(Proxy-Authorization, credential).build();}});//如果要配置限制域则加上下面/*ListProxy proxyList new ArrayList(1);proxyList.add(proxy);builder.proxySelector(new ProxySelector() {//限制域SetString domainList;Overridepublic ListProxy select(URI uri) {if (uri null || !domainList.contains(uri.getHost())) {return Collections.singletonList(Proxy.NO_PROXY);}return proxyList;}Overridepublic void connectFailed(URI uri, SocketAddress sa, IOException ioe) {}});*/}} } -》OkHttpClient OkHttpClient.Builder builder client.newBuilder(); builder.proxy(new Proxy(Proxy.Type.HTTP, new InetSocketAddress(hostName, Integer.parseInt(hostPort)))); ... Response response builder.cookieJar(new LocalCookieJar()).build().newCall(request).execute() -》HttpClient URL url RequestUtils.getUrlOrNull(hostUrl);HttpHost target new HttpHost(url.getHost(),getPort(url),url.getProtocol());HttpGet request new HttpGet(/user?namexxx); // HttpGet httpGet new HttpGet(hostUrl); // 非代理 ... httpClient.execute(target, request) // 代理 // httpClient.execute(httpGet); // 非代理 -》HttpURLConnection Proxy proxy new Proxy(Proxy.Type.HTTP, new InetSocketAddress(10.40.3.XXX, 9999)); URL url new URL(http://www.yahoo.com); HttpURLConnection uc (HttpURLConnection)url.openConnection(proxy); uc.connect(); DefaultHttpClient DefaultHttpClient httpclient new DefaultHttpClient();] HttpHost proxy new HttpHost(10.40.3.XXX, 9999); httpclient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, proxy); PostMethod postMethod new PostMethod(url); int statusCode httpClient.executeMethod(postMethod); -》Fluent import org.apache.hc.client5.http.fluent.Request;public class TestRequest {public static void main(final String... args) throws Exception {String url http://httpbin.org/anything;String proxy http://10.40.3.XXX:9999; // Free proxyString response Request.get(url).viaProxy(proxy) // will set the passed proxy.execute().returnContent().asString();System.out.println(response);} } -》Jsonp String urlhttp://www.baidu.com; String proxyHost10.40.3.XXX; int port9999; Proxy proxy new Proxy(Proxy.Type.HTTP, new InetSocketAddress(proxyHost, port)); Connection.Response response Jsoup.connect(url).proxy(proxy).execute(); 2、webservice接口使用代理 -》cxf客户端 JaxWsProxyFactoryBean factoryBean new JaxWsProxyFactoryBean(); factoryBean.setServiceClass(TeacherWebService.class); factoryBean.setAddress(http://xxx.xxx.xxx.xxx/webservice?wsdl); TeacherWebService tService (TeacherWebService )factoryBean.create(); Client client ClientProxy.getClient(tService);HTTPConduit http (HTTPConduit) client.getConduit();HTTPClientPolicy hcp new HTTPClientPolicy();hcp.setProxyServer(10.40.3.XXX);hcp.setProxyServerPort(9999);http.setClient(hcp); -》JAX-WS //Set the https.proxyHost as a property on the RequestContext. BindingProvider bp  (Binding Provider)port; bp.getRequestContext().put(https.proxyHost, proxyHost1.ibm.com); bp.getRequestContext().put(https.proxyPort, 80); -》JAX-WS(带URL匹配) import java.io.IOException; import java.net.InetSocketAddress; import java.net.*; import java.util.*;public class MyProxySelector extends ProxySelector {private final ProxySelector def;//保存原来的如果不是目标uri的需要按原来的走MyProxySelector(){this.def  ProxySelector.getDefault();}Overridepublic ListProxy select(URI uri) {if(uri.getHost().contains(aaaaa)){//如果符合需要代理的地址则新建代理类System.out.println(select for   uri.toString());Proxy proxy  new Proxy(Proxy.Type.HTTP, new InetSocketAddress(localhost, 9999));ArrayListProxy list  new ArrayListProxy();list.add(proxy);return list;  }return def.select(uri);//否则还是按原来的走}Overridepublic void connectFailed(URI uri, SocketAddress sa, IOException ioe) {System.err.println(Connection to   uri   failed.);} }public class Client {public static void main(String[] args) {ProxySelector.setDefault(new MyProxySelector());//在发起webservice之前调用一次即可创建之后所有网络请求都会进入select方法相当于是全局影响的。HelloImplService service  new HelloImplService();HelloImpl hello  service.getHelloImplPort();System.out.println(hello.sayHello(Howard Wollowitz));}} **特别注意** 如果只要在接口级或应用级使用,千万不要在Java程序用使用如下的代码: System.setProperty(http.proxyHost, 代理服务器地址);System.setProperty(http.proxyPort, 代理服务器端口); system.setproperty函数设置的属性具有全局作用域任何其他的Java程序和系统程序都可以读取这个属性的值。 五、应用(级)使用代理 1、Tomcat等web容器应用使用代理 -》方式一:在conf/server.xm中的Connector配置中添加代理配置 Connector port8080 protocolHTTP/1.1 connectionTimeout20000 redirectPort8443 proxyName10.40.3.XXX proxyPort9999 / -》方式二:在bin/setenv.sh中添加代理参数 # windows SET JAVA_OPTS%JAVA_OPTS% -Dhttp.proxyHost10.40.3.XXX -Dhttp.proxyPort9999 # linux SET JAVA_OPTS$JAVA_OPTS -Dhttp.proxyHost10.40.3.XXX -Dhttp.proxyPort9999 2、Springboot等jar应用使用代理 -》启动参数示例 java -Dhttp.proxyHost10.40.3.XXX -Dhttp.proxyPort9999 -Dhttps.proxyHost10.40.3.XXX -Dhttps.proxyPort9999 -Dhttp.nonProxyHostslocalhost|host.example.com -jar test.jar -》参数说明 1.http.proxyHost : 代理服务器主机名 2.http.proxyPort : 端口号,默认是80 3.https.proxyHost : https代理服务器主机名 4.https.proxyPort: 代理端口号,默认是443 5.http.nonProxyHosts : 指定绕过代理的主机列表使用 | 分割的模式列表,可以以通配符 * 开头或者结尾,任何匹配这些模式之一的主机都将通过直接连接而不是通过代理访问。该设置对http,https通用 六、整台机器使用代理 1、Linux使用代理 -》命令行方式 # vim /etc/profile # 添加下面两个环境变量 export http_proxyhttp://10.40.3.XXX:9999 export https_proxyhttp://10.40.3.XXX:9999 # source /etc/profile # 不重起生效 -》图形化方式 -》Firefox浏览器使用代理 注意: 这里只对浏览器生效. 2、Windows使用代理 -》命令行方式 打开 cmd 命令行终端。 设置无密码的HTTP 代理服务器地址和端口号 #设置 HTTP代理服务器地址和端口号 set http_proxyhttp://10.40.3.XXX:9999#设置 HTTPS 代理服务器地址和端口号 set https_proxyhttp://10.40.3.XXX:9999 设置带用户名和密码的 HTTP 代理服务器地址和端口号 # 设置带用户名和密码的 HTTP 代理服务器地址和端口号 set http_proxyhttp://username:passwordproxy-server:port#设置 HTTPS 代理服务器地址和端口号 set https_proxyhttp://username:passwordproxy-server:port#其中 username和 password 分别替换成你的代理服务器的用户名和密码proxy-server 和 port则分别替换成代理服务器的地址和端口号。 -》图形方式 -》Edge浏览器使用代理 会调用上面图形化方式中的代理设置窗口(对整台机器生效) 3、MacOS使用代理 -》命令行方式 mac打开命令行 执行 open -e ~/.zshrc 打开.zshrc文件, 在下面插入: function proxyOff(){unset http_proxyunset https_proxyecho -e 已关闭代理}function proxyOn() {export http_proxyhttp://10.40.3.XXX:9999export https_proxy$http_proxyecho -e 已开启代理 }proxyOn #开启代理 # proxyOff #关闭代理 执行 source ~/.zshrc 说明: 这里写成函数的形式可以让使用更灵活. 比如在脚本中动态开关. -》图形化方式 -》Safari浏览器使用代理 会调用上面图形化方式中的代理设置窗口(对整台机器生效) 七、总结 正向代理使用特别是在开发人员本地联调时一定要注意区分作用域避免不必要的麻烦 八、【赠送】附件一:  ssh端口转发 内网机器开发调试用,  程序访问的地址为localhost # 此处以访问谷歌为例,执行如下命令后访问localhost:10000就是访问谷歌 ssh -L localhost:10000:www.google.com:80 root10.40.3.XXX:9999 -NT 测试本机: ssh -L localhost:81:www.baidu.com:80 daizhongde192.168.31.99 -NT 示例: # 表示从任意主机发往本机(A)的端口5900的流量都通过主机 10.3.171.219(B)发往主机 10.3.131.240(C) 的端口 8606(Z) ssh -L 5900:10.3.131.240:8086 root10.3.171.219  端口转发补脑: https://zhuanlan.zhihu.com/p/615584874?utm_id0
http://www.w-s-a.com/news/517876/

相关文章:

  • 经典设计网站网站等保测评怎么做
  • 重庆做网站公司贴吧廊坊公司快速建站
  • 海外贸易在什么网站做怎么排名到百度第一页
  • 线上注册公司是在哪个网站做高仿网站
  • 网站构架图网上推广平台哪个好
  • 公司网站首页图片素材vi设计的目的和意义
  • 网站的需求分析都有哪些内容济南营销型网站建设团队
  • 怎么选择优秀的网站建设公司生鲜网站开发
  • 如何编写网站建设销售的心得网站的权限管理怎么做
  • 网站业务员好做吗无忧网站优化
  • 网站随机代码网站建设费 账务处理
  • 商洛网站建设哪家好网站建设 织梦者
  • 怎么创建收费网站宁夏住房和城乡建设部网站
  • 怎么确认网站是什么语言做的用php和mysql做网站
  • 安徽做网站的公司有哪些星子网络公司
  • 肥西县重点工程建设管理局网站wordpress界面菜单怎么弄
  • 宁夏网站开发设计说明书wordpress主题背景图片
  • 同一个阿里云可以做两个网站吗织梦 帝国 学校网站
  • 城阳网站建设培训网站后台怎么上传文件
  • 重庆茂尔建设集团有限公司网站网页制作教程软件
  • 金湖建设工程质量监督网站高端网站建设公司哪里济南兴田德润实惠吗
  • 站酷设计网站官网入口文字设计seo网站推广工具
  • 专业移动网站建设网站建设软件dw
  • 摄影网站设计思想视觉传达毕业设计作品网站
  • 需要优化的网站有哪些设计装修app
  • 数据型网站建设东莞好的网站国外站建设价格
  • 网络营销方法有哪些举例seo应用领域有哪些
  • 建设银行官方网站官网做网站的专业叫什么
  • 矿区网站建设濮阳做网站的公司有哪些
  • 有什么网站可以自己做书甘肃建设厅网站首页