反向代理

基于docker搭建开发与测试环境

元气小坏坏 提交于 2019-12-04 08:22:25
安装docker docker安装 https://docs.docker.com/install/linux/docker-ce/centos/ 安装nginx 不想因为web程序有端口造成开发与测试和线上环境的不一致,首先安装nginx进行反向代理 1.配置反向代理文件 server { listen 80; server_name 域名; location / { proxy_redirect 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_pass http://实际ip:实际端口; } access_log /var/log/nginx/服务日志名称.log; } 2.绑定日志 设定日志在宿主机的路径,便于查看异常,并且保存数据 3.安装nginx 拉取镜像:docker pull nginx 运行nginx容器:docker run -d -p 80:80 -v 宿主机路径(用于存放页面):/usr/share/nginx/html -v 配置文件宿主机路径:/etc/nginx/conf.d -v 日志宿主机路径:/var/log

用nginx docker 做反向代理出现502 Bad Gateway

纵饮孤独 提交于 2019-12-04 07:55:07
用nginx docker 做反向代理出现502 Bad Gateway 主机上有个nodejs应用: http://127.0.0.1:8888 ,外网不能直接访问端口8888,只能访问80端口,想通过nginx做反向代理来访问nodejs应用 。 具体步骤如下: 启动nginx 使用docker启动nginx sudo docker run --name=nginx \ -p 80:80 \ -v /home/dev/nginx/web/www:/usr/share/nginx/html \ -v /home/dev/nginx/web/conf.d:/etc/nginx/conf.d \ -d nginx 配置nginx 编辑 /home/dev/nginx/web/conf.d/default.conf 配置如下: server { listen 80; access_log /usr/share/nginx/html/mylog.log; error_log /usr/share/nginx/html/myerror.log; location / { proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X

nginx 实现反向代理、负载均衡、高可用

半世苍凉 提交于 2019-12-04 03:35:47
转自: https://blog.csdn.net/zy1471162851/article/details/91795712 tip: nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器 nginx 的应用场景 ( http服务器,可以做网页静态服务器; 虚拟主机; 反向代理,负载均衡。 当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。) windows常用命令 nginx.exe -s stop –停止 nginx优缺点 占内存小,可以实现高并发连接、处理响应快。 可以实现http服务器、虚拟主机、反向代理、负载均衡。 nginx配置简单 可以不暴露真实服务器IP地址 一:反向代理 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。 启动一个Tomcat 127.0.0.1:8080 使用nginx反向代理 8080.zyhome.com 直接跳转到127.0.0.1:8080 Host文件新增

Nginx学习

人走茶凉 提交于 2019-12-04 01:41:43
Date:2019-11-08 读前思考: Nginx是什么? Nginx因为什么而出生的? Nginx到底能解决什么问题?Nginx的优缺点? Nginx 的产生 Nginx 同 Apache 一样都是一种 Web 服务器。基于 REST 架构风格,以统一资源描述符(Uniform Resources Identifier)URI 或者统一资源定位符(Uniform Resources Locator)URL 作为沟通依据,通过 HTTP 协议提供各种网络服务。 然而,这些服务器在设计之初受到当时环境的局限,例如当时的用户规模,网络带宽,产品特点等局限并且各自的定位和发展都不尽相同。这也使得各个 Web 服务器有着各自鲜明的特点。 Apache 的发展时期很长,而且是毫无争议的世界第一大服务器。它有着很多优点:稳定、开源、跨平台等等。 它出现的时间太长了,它兴起的年代,互联网产业远远比不上现在。所以它被设计为一个重量级的。 它不支持高并发的服务器。在 Apache 上运行数以万计的并发访问,会导致服务器消耗大量内存。 操作系统对其进行进程或线程间的切换也消耗了大量的 CPU 资源,导致 HTTP 请求的平均响应速度降低。 这些都决定了 Apache 不可能成为高性能 Web 服务器,轻量级高并发服务器 Nginx 就应运而生了。 俄罗斯的工程师 Igor Sysoev,他在为

nginx 反向代理非80端口时 URL跳转丢失端口的解决方案

核能气质少年 提交于 2019-12-03 23:41:12
配置nginx反向代理时遇到一个问题,当设置nginx监听80端口时转发请求没有问题。但一旦设置为监听其他端口,就一直跳转不正常; 如,访问欢迎页面时应该是重定向到登录页面,在这个重定向的过程中端口丢失了。【例: www.xxx.cn:13000/jenkins ----》 www.xxx.cn/jenkins】 这里给出一个简短的解决方案,修改nginx的配置文件。 一、配置文件 # the 90 port server { listen 90; server_name zxy1994.cn; proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $host:$server_port; #这里是重点,这样配置才不会丢失端口 location / { proxy_pass http://127.0.0.1:9001; } location = /50x.html { root html; } } 二、产生原因 nginx没有正确的把端口信息传送到后端,没能正确的配置nginx,下面这行是关键 proxy

反向代理实例

吃可爱长大的小学妹 提交于 2019-12-03 22:59:51
1.安装tomcat 下载安装包; 上传到linux; tar -xvf解压; firewall-cmd 开放端口; 到解压目录bin目录下执行./startup.sh运行; 2.实现思路 预期效果:在浏览其中输入www.123.com跳转到tomcat主页面; linux对外暴露的是ngnix,不直接访问tomcat,而是需要访问ngnix,再由ngnix来转发请求; 1)对应域名和ip地址 域名和ip地址的映射关系在window目录下的host文件中配置; 如果没有配置会从dns中查找; 因为没有域名,所以修改host文件来配置映射; host文件地址: C:\Windows\System32\drivers\etc\hosts 加上一行 前面是linux服务器的ip地址,可以用ifconfig命令得到; 后面是自定义的域名; 3.配置nginx vi打开配置文件: vi /usr/local/nginx/conf/nginx.conf 找到server块,做修改: 将server_name改为linux服务器的ip地址; 在location中添加 proxy_pass http://127.0.0.1:8080,表示请求是转发到本机的8080端口; server { listen 80; server_name 192.168.10.112; location / {

Nginx配置实例-反向代理实现浏览器请求Nginx跳转到服务器某页面

烈酒焚心 提交于 2019-12-03 21:13:42
场景 Ubuntu Server 16.04 LTS上怎样安装下载安装Nginx并启动: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/102828075 Nginx的配置文件位置以及组成部分结构讲解: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/102829618 Linux-Ubuntu Server 16.04安装JDK以及配置JDK环境变量: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/97438518 下面实例实现客户端浏览器请求指定网址,跳转到服务器Tomcat主页面。 所以需要参考上面去实现一些准备工作。 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书、教程推送与免费下载。 实现 安装JDK 使用VmWare安装Ubuntu Server 16,然后安装JDK以及环境变量 参考下面: Linux-Ubuntu Server 16.04安装JDK以及配置JDK环境变量: https://blog.csdn.net/BADAO_LIUMANG_QIZHI

反向代理负载均衡

回眸只為那壹抹淺笑 提交于 2019-12-03 17:37:05
使用反向代理服务器可以将请求转发给内部的Web服务器,使用这种加速模式显然可以提升静态网页的访问速度。因此也可以考虑使用这种技术,让代理服务器将请求均匀转发给多台内部Web服务器之一上,从而达到负载均衡的目的。这种代理方式与普通的代理方式有所不同,标准代理方式是客户使用代理访问多个外部Web服务器,而 这种代理方式是多个客户使用它访问内部Web服务器,因此也被称为反向代理模式 。 概念 实现这个反向代理能力并不能算是一个特别复杂的任务,但是在负载均衡中要求特别高的效率,这样实现起来就不是十分简单的了。每针对一次代理,代理服务器就 必须打开两个连接,一个为对外的连接,一个为对内的连接,因此对于连接请求数量非常大的时候,代理服务器的负载也就非常之大了,在最后反向代理服务器会成 为服务的瓶颈。例如,使用Apache的mod_rproxy模块来实现负载均衡功能时,提供的并发连接数量受Apache本身的并发连接数量的限制。一般来讲,可以使用它来对连接数量不是特别大,但每次连接都需要消耗大量处理资源的站点进行负载均衡,例如搜寻。 使用反向代理的好处是,可以将负载均衡和代理服务器的高速缓存技术结合在一起,提供有益的性能,具备额外的安全性,外部客户不能直接访问真实的服务器。并且实现起来可以实现较好的负载均衡策略,将负载可以非常均衡的分给内部服务器,不会出现负载集中到某个服务器的偶然现象。

k8s nginx-ingress 504 timeout

杀马特。学长 韩版系。学妹 提交于 2019-12-03 13:19:00
nginx ingress 报错 504 timeout,是由于反向代理超时造成的,反向代理默认超时时间60s 官方文档 配置片段: apiVersion: extensions/v1beta1 kind: Ingress metadata: annotations: nginx.ingress.kubernetes.io/proxy-connect-timeout: "300" nginx.ingress.kubernetes.io/proxy-read-timeout: "300" nginx.ingress.kubernetes.io/proxy-send-timeout: "300" 来源: https://www.cnblogs.com/pythonPath/p/11796569.html

nginx的反向代理模块 参数proxy_pass,proxy_method,proxy_hide_

喜你入骨 提交于 2019-12-03 07:00:49
nginx的反向代理模块有很多种配置,下面介绍一些常用的配置实例: 1.proxy_pass 语法: proxy_pass URL 配置块: location,if 详解:此配置项将当前请求反向代理到URL参数指定的服务器上,URL可以是主机名或者IP地址加端口的形式。例如: view plain print ? // nginx.conf配置文件 // 配置URL地址 proxy_pass http: //www.54rd.net/html/webserver/; // 也可以配置unix句柄 proxy_pass http: //unix:/path/to/backend.sock:/webserver/; // 也可以把HTTP转换成更安全的HTTPS proxy_pass https: //192.168.0.1; 默认情况下反向代理是不会转发请求中的Host头部。如果需要转发,那么必须加上set_header配置: view plain print ? proxy_set_header Host $host ; 2.proxy_method 语法:proxy_method method; 配置块:http,server,location 详解:此配置项表示转发时的协议方法名,例如: view plain print ? //