nginx反向代理

    xiaoxiao2024-10-19  69

    nginx反向代理目的是实现外网直接访问内网的内容的一种方式。

    话不多说。

    由于是本地演示我这边本地启动两个tomcat 一个挂在8080端口、一个挂在8081端口

    tomcat改端口这边就不写了

    第一步:

    修改本地host文件(C:\Windows\System32\drivers\etc下)增加两个域名的映射,都映射到本地locahost

    127.0.0.1 www.taotao.com 127.0.0.1 www.haha.com 第二步:

    修改nginx配置文件,增加代理配置信息

    include reverse-proxy.conf; server { listen 80; server_name localhost; location / { root html; index index.html index.htm; }

    这里引入了一个reverse-proxy.conf的代理配置,该配置与nginx.cof在同一目录中,具体信息如下:

    server { listen 80; server_name www.taotao.com; # 这是外网访问进来时的连接地址 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://localhost:8080; # 收到 server_name 定义的连接之后,会转发到这个连接里面 #proxy_pass http://tomcat; } #access_log logs/tomcat1_access.log; } server { listen 80; server_name www.haha.com; # 这是外网访问进来时的连接地址 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://localhost:8081; # 收到 server_name 定义的连接之后,会转发到这个连接里面 #proxy_pass http://tomcat; } #access_log logs/tomcat1_access.log; } 上面的配置的意思是当访问路径为www.taotao.com的时候会经proxy_passs转到 http://localhost:8080上。

    另一个访问路径www.haha.com会转到http://localhost:8081上

    第三步:

    此时正常启动nginx,以及两个tomcat

    当浏览器访问www.taotao.com时: 当浏览器访问www.haha.com时: 这样就实现了通过不同域名访问同一服务器上的不同项目,反向代理ok!

    最新回复(0)