服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

云服务器|WEB服务器|FTP服务器|邮件服务器|虚拟主机|服务器安全|DNS服务器|服务器知识|Nginx|IIS|Tomcat|

服务器之家 - 服务器技术 - Nginx - nginx反向代理踩坑实战记录(容器方式)

nginx反向代理踩坑实战记录(容器方式)

2022-08-05 10:33小蜗牛耶 Nginx

Nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务,下面这篇文章主要给大家介绍了关于nginx反向代理踩坑(容器方式)的相关资料,需要的朋友可以参考下

一、简述

1.1 什么是反向代理?

这很重要,反向代理就是代理服务器代理真实服务器。客户端以为代理服务器就是真实服务器,所以就会把要请求的==资源(url)==发给代理服务器。

代理服务器一般是由nginx来充当,代理功能由配置文件来完成。

nginx反向代理踩坑实战记录(容器方式)

1.2 看图理解

画的仓促,大概有这个意思

nginx反向代理踩坑实战记录(容器方式)

1.3 错误总结

错误记录:

nginx和tomcat全容器化

用nginx代理两台tomcat服务器,

当访问资源带edu的时候交给tomcat1

当访问资源带vod的时候交给tomcat2

做反向代理测试的时候,写的是完整的url,不是部分路径。因为代理服务器在客户端看来就是真实服务器!!!

这次对反向代理的理解更深刻了,坚持下来没有错。

同时,请教别人也是必须的,多交流多思考才能更好的解决问题~

以下是错误演示

nginx反向代理踩坑实战记录(容器方式)

二、正确案例

2.1 启动nginx

?
1
docker run --name nginx -p 80:80 --link=tomcat:tomcat1 --link=tomcat02:tomca -v /opt/docker-nginx/nginx.conf:/etc/nginx/nginx.conf -v /opt/docker-nginx/log:/var/log/nginx -v /opt/docker-nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf -d 313ec0a602bc

2.2 启动tomcat

先启动一个

?
1
docker run -it -p 8080:8080 tomcat

docker cp复制文件

?
1
docker cp 容器id:/usr/local/tomcat/webapps.dist/* /opt/webapps

再启动挂载卷

?
1
2
docker run -it -p 8081:8080 --name tomcat01 -v /opt/webapps:/usr/local/tomcat/webapps tomcat
docker run -it -p 8082:8080 --name tomcat02 -v /opt/webapps:/usr/local/tomcat/webapps tomcat

建文件,建资源

?
1
2
3
4
5
6
7
8
9
10
11
[root@vm-16-8-centos vod]# ll
total 4
-rw-r–r-- 1 root root 11 apr 14 21:42 a.html
[root@vm-16-8-centos vod]# pwd
/opt/tomcat/webapps/vod
 
[root@vm-16-8-centos edu]# ll
total 4
-rw-r–r-- 1 root root 8 apr 14 21:26 a.html
[root@vm-16-8-centos edu]# pwd
/opt/tomcat/webapps/edu

nginx反向代理踩坑实战记录(容器方式)

2.3 配置nginx

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
[root@vm-16-8-centos docker-nginx]# vim nginx.conf
 
worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
 
    server {
      listen 80;
      server_name xxx.xxx.xxx.xxx;
 
      location ~ /edu/ {
         proxy_pass http://xxx.xxx.xxx.xxx:8081;
      }
 
      location ~ /vod/ {
         proxy_pass http://xxx.xxx.xxx.xxx:8082;
      }
    }
}

2.4 重启所有服务

?
1
docker restart …

2.5 测试

nginx反向代理踩坑实战记录(容器方式)

nginx反向代理踩坑实战记录(容器方式)

三、云服务器上跑的nginx怎么代理本地项目

不可以!

要么都在云端,只有代理服务器ip和真实服务器ip能互通的情况下才能代理!!!

总结

到此这篇关于nginx反向代理踩坑实战的文章就介绍到这了,更多相关nginx反向代理踩坑内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/qq_45714272/article/details/124183925

延伸 · 阅读

精彩推荐
  • Nginx详解常用的nginx rewrite重写规则

    详解常用的nginx rewrite重写规则

    这篇文章主要介绍了详解常用的nginx rewrite重写规则,Nginx的rewrite功能是使用nginx提供的全局变量或自己设置的变量,结合正则表达式和标志位实现url重写以...

    LanceZhen4242020-01-05
  • NginxNginx 根据URL带的参数转发的实现

    Nginx 根据URL带的参数转发的实现

    这篇文章主要介绍了Nginx 根据URL带的参数转发的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们...

    牧之山野16912020-09-27
  • Nginxnginx代理多次302的解决方法(nginx Follow 302)

    nginx代理多次302的解决方法(nginx Follow 302)

    这篇文章主要介绍了nginx代理多次302的解决方法(nginx Follow 302),详细的介绍了解决方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟...

    大喵下山3072019-12-31
  • Nginx简介Nginx中的location匹配规则

    简介Nginx中的location匹配规则

    这篇文章主要介绍了简介Nginx中的location匹配规则,Nginx是一个高速的基于事务的非阻塞服务器,需要的朋友可以参考下 ...

    goldensun2472019-10-30
  • NginxLinux中安装Nginx的正确步骤

    Linux中安装Nginx的正确步骤

    这篇文章主要给大家介绍了关于在Linux中安装Nginx的正确步骤,文中通过示例代码介绍的非常详细,对大家学习或者使用Nginx具有一定的参考学习价值,需要...

    神易风13762019-09-20
  • Nginxnginx日志格式分析以及修改详解

    nginx日志格式分析以及修改详解

    Nginx日志对于统计、系统服务排错很有用,下面这篇文章主要给大家介绍了关于nginx日志格式分析以及修改的相关资料,文中通过实例代码介绍的非常详细,需要...

    ʚ梅梅ɞ4292022-08-05
  • NginxNginx配置的rewrite编写时last与break的区别分析

    Nginx配置的rewrite编写时last与break的区别分析

    这篇文章主要介绍了Nginx配置的rewrite编写时last与break的区别分析,简单来说使用last会对server标签重新发起请求,而break就直接使用当前的location中的数据源来...

    moon3702019-11-07
  • NginxNginx 代理与负载均衡详解

    Nginx 代理与负载均衡详解

    这篇文章主要介绍了Nginx 代理与负载均衡详解的相关资料,需要的朋友可以参考下 ...

    lqh3052019-11-27