Nexus使用nginx代理实现支持HTTPS协议_nginx

来源:脚本之家  责任编辑:小易  

这几天谷歌都被某墙折腾得不能用了啊。上谷歌搜索资料都要翻越某墙,真悲摧啊。干脆自己用国外的一个vps反向代理谷歌吧。下面贴出我反向代理谷歌的nginx配置,造福人类。假设用www.centos.bz反向代理谷歌,是假设,我可不愿意由于这个博客被墙。proxy_cache_path /data/nginx/cache/one levels=1:2 keys_zone=one:10m max_size=10g;proxy_cache_key "$host$request_uri";server {listen 80;server_name www.centos.bz centos.bz;rewrite ^(.*) https://www.centos.bz$1 permanent;} upstream google { server 74.125.224.80:80 max_fails=3; server 74.125.224.81:80 max_fails=3; server 74.125.224.82:80 max_fails=3; server 74.125.224.83:80 max_fails=3; server 74.125.224.84:80 max_fails=3; }server { listen 443; server_name www.centos.bz centos.bz; ssl on; ssl_certificate /usr/local/nginx/conf/centos.crt; ssl_certificate_key /usr/local/nginx/conf/centos.key;location / { proxy_cache one; proxy_cache_valid 200 302 1h; proxy_cache_valid 404 1m; proxy_redirect https://www.google.com/ /; proxy_cookie_domain google.com centos.bz; proxy_pass http://google; proxy_set_header Host "www.google.com"; proxy_set_header Accept-Encoding ""; proxy_set_header User-Agent $http_user_agent; proxy_set_header Accept-Language "zh-CN"; proxy_set_header Cookie "PREF=ID=047808f19f6de346:U=0f62f33dd8549d11:FF=2:LD=zh-CN:NW=1:TM=1325338577:LM=1332142444:GM=1:SG=2:S=rE0SyJh2w1IQ-Maw"; sub_filter www.google.com www.centos.bz; sub_filter_once off;}}解释下吧:1、这里监听了80和443端口,用了ssl加密,高大上。ssl证书是免费的,startssl,自己去申请个吧。2、定义了个upstream google,放了5个谷歌的ip,如果不这样做,就等着被谷歌的验证码搞崩溃吧。3、也设置了反向代理缓存,某些资源不用重复去请求谷歌获取,加快搜索速度。4、proxy_redirect https://www.google.com/ /; 这行的作用是把谷歌服务器返回的302响应头里的域名替换成我们的,不然浏览器还是会直接请求www.google.com,那样反向代理就失效了。5、proxy_cookie_domain google.com centos.bz; 把cookie的作用域替换成我们的域名。6、proxy_pass http://google; 反向代理到upstream google,会随机把请求分配到那几个ip。忘记说了,那几个ip可以在自己的vps或服务器上使用nslookup www.google.com获取。7、proxy_set_header Accept-Encoding ""; 防止谷歌返回压缩的内容,因为压缩的内容我们无法作域名替换。8、proxy_set_header Accept-Language "zh-CN";设置语言为中文9、proxy_set_header Cookie "PREF=ID=047808f19f6de346:U=0f62f33dd8549d11:FF=2:LD=zh-CN:NW=1:TM=1325338577:LM=1332142444:GM=1:SG=2:S=rE0SyJh2w1IQ-Maw"; 这行很关键,传固定的cookie给谷歌,是为了禁止即时搜索,因为开启即时搜索无法替换内容。还有设置为新窗口打开网站,e79fa5e98193e59b9ee7ad9431333339663365这个符合我们打开链接的习惯。10、sub_filter www.google.com www.centos.bz;当然是把谷歌的域名替换成我们的了,注意需要安装nginx的sub_filter模块好了,说明够详细了,祝各位享受到高质量的谷歌搜索www.zgxue.com防采集请勿采集本网。

背景

公司全部网站需要支持 HTTPS 协议,在阿里云负载均衡配置 SSL 证书后,导致 Nexus 的 HTTPS 访问出错。

:自建DNS,劫持Google相关的域名解析,采用SNI代理。优点:相对安全,因为没有经过SSL解密;容易分享和传播—只需要修改终端的DNS即可使用。缺点:可能需要两台服务器,一台墙内一台墙外,毕竟

网站访问路径: 域名解析到阿里云的负载均衡,负载均衡配置 80 端口强转 443 端口,443 端口配置 SSL 证书,并转发到内网 nginx,内网的 nginx 再代理 Nexus 服务。

反向代理是指的,服务器代理网络上的客户机请求,将请求转达给内部真实服务器,然后在返回给反向代理和正向代理没有冲突,可以在防火墙设备中同时使用这两种结合,正向代理可以进行过滤,保护

解决

浏览器 HTTPS 访问 Nexus 的 Console 报错信息:

例子e68a847a6431333363366165 server { resolver 8.8.8.8;resolver_timeout 5s;listen 81;location/{ allow 192.168.0.0/24;deny all;access_log/var/log/nginx/proxy_access.log }

报错信息大致意思是:HTTPS 访问的页面上不允许出现 HTTP 请求。

只要你的服务器的网络可以连接到谷歌就可行 不过谷歌会检测一段时间内不同用户通过同一个IP访问的次数,如果过多,可能会被要求输入验证码 才能访问

解决方法: 在 nginx 配置文件增加 “proxy_set_header X-Forwarded-Proto https;” ,这样 nginx 在转发时就使用 HTTPS 协议。

能够实现nginx反向代理google 不过,如果国外有可以搭nginx的服务器,还是建议用shadowsocks做代理比较好

nginx.conf 中的 nexus 配置内容:

location ^~ /nexus { proxy_pass http://x.x.x.x:8080/nexus; sendfile off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto https; # 转发时使用https协议 proxy_max_temp_file_size 0; # This is the maximum upload size client_max_body_size 20m; client_body_buffer_size 128k; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_temp_file_write_size 64k; # Required for new HTTP-based CLI proxy_http_version 1.1; proxy_request_buffering off; proxy_buffering off; # Required for HTTP-based CLI to work over SSL }

这几天谷歌都被某墙折腾得不能用了啊。上谷歌搜索资料都要翻越某墙,真悲摧啊。干脆自己用国外的一个vps反向代理谷歌吧。下面贴出我反向代理谷歌的nginx配置,造福人类内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • 使用nginx实现301跳转至https的根域名示例代码
  • nginx 域名ssl证书配置(网站 http 升级为 https)
  • springboot单体架构http请求转换https请求来支持微信小程序调用接口
  • spring boot项目如何同时支持http和https协议的实现
  • nginx http升级到https的完整步骤
  • nginx配置ssl证书实现https服务的方法
  • 详解spring框架下向异步线程传递httpservletrequest参数的坑
  • nginx提高安全与性能的最好配置详解
  • windows7下安装php+nginx的方法
  • nginx配置支持php的pathinfo模式配置方法
  • 浅谈nginx反向代理中神奇的斜线
  • nginx 与后台端口冲突的解决
  • nginx rewrite规则与使用介绍和技巧实例
  • nginx session丢失问题处理解决方法
  • 采用ngxtop实现nginx实时访问数据统计
  • ubuntu上配置nginx+php5 fastcgi服务器配置
  • nginx stub_status 监控模块的功能实现
  • 使用nginx反向代理到谷歌可行吗
  • 使用nginx反向代理到谷歌可行吗
  • 使用nginx反向代理到谷歌可行吗
  • 使用nginx反向代理到谷歌可行吗
  • 使用nginx反向代理到谷歌可行吗
  • 哪些网站使用了nginx反向代理
  • 如何使用Nginx实现正向代理
  • 使用nginx反向代理到谷歌可行吗
  • 使用nginx反向代理到谷歌可行吗
  • 使用nginx反向代理到谷歌可行吗
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全星外虚拟主机华众虚拟主机linuxwin服务器ftp服务器dns服务器tomcat nginxzabbix云和虚拟化服务器其它首页服务器nginx使用nginx实现301跳转至https的根域名示例代码nginx 域名ssl证书配置(网站 http 升级为 https)springboot单体架构http请求转换https请求来支持微信小程序调用接口spring boot项目如何同时支持http和https协议的实现nginx http升级到https的完整步骤nginx配置ssl证书实现https服务的方法详解spring框架下向异步线程传递httpservletrequest参数的坑nginx提高安全与性能的最好配置详解windows7下安装php+nginx的方法nginx配置支持php的pathinfo模式配置方法浅谈nginx反向代理中神奇的斜线nginx 与后台端口冲突的解决nginx rewrite规则与使用介绍和技巧实例nginx session丢失问题处理解决方法采用ngxtop实现nginx实时访问数据统计ubuntu上配置nginx+php5 fastcgi服务器配置nginx stub_status 监控模块的功能实现nginx提示:500 internal servernginx 多站点配置方法集合权限问题导致nginx 403 forbiddenginx fastcgi错误primary scripnginx服务器的反向代理proxy_pasnginx 403 forbidden的解决办法nginx伪静态配置和常用rewrite伪nginx下301重定向域名的方法小结详解nginx服务器中配置超时时间的windows下nginx+php5的安装与配置nginx配置指令location匹配符优先级和安全详解通过nginx部署django(基于ubuntu)详解nginx前端根据$remote_addr分发方法nginx提示:500 internal server error错详解nginx如何配置https基于nginx的静态网页部署的实现针对openssl安全漏洞调整nginx服务器的方nginx服务器中配置404错误页面时一些值得nginx用正则表达式实现泛域名自动匹配目录nginx 配置服务启动的教程详解
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved