微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

【Nginx】4. 反向代理实例-Nginx代理Tomcat及其中的jenkins

原文链接https://www.cnblogs.com/hanmk/p/9289069.html

下面演示一下Nginx是如何代理服务的,并讲下 Nginx.conf 文件中的关于server模块location模块的配置。

server模块:配置虚拟主机的相关参数,一个http中可以有多个server;

location模块:配置请求的路由,以及各种页面的处理情况;

首先我在本地虚拟机安装了Nginx和tomcat,启动后,可使用虚拟机 ip 地址访问tomcat。虚拟机ip:http://192.168.233.128。tomcat监听的端口是:8080。


1、通过 Nginx 代理 tomcat 服务,使用 Nginx 配置的虚拟主机地址来访问

(1)增加一个 server 块,并在其中添加一个location快,如下:

server {
	listen   8089;
    server_name localhost;
    
    # location / {     
		# root   html;
		# index  index.html index.htm;
	# }
	# 注意:要把原来的根路径的location注释掉,这个页面跳转Nginx首页;
	# 因为不允许出现2个一样的location路径,否则会报错“Nginx: [emerg] duplicate location "/" in /usr/local/Nginx/conf/Nginx.conf:63”
	
	location / {  # 只有一个/,后面没有路径,表示访问tomcat首页
    	proxy_pass http://localhost:8080;
    	# tomcat服务的路由。Nginx和tomcat部署在同一台虚拟机,所以是localhost。想代理其他服务器的服务,填写程序所在服务器ip:端口即可)
	}
}

使用虚拟主机的ip+端口http://192.168.233.128:8089/,即可访问

2、在tomcat上部署jenkins.war,通过Nginx反向代理来访问

正常访问jenkins是:http://192.168.233.128:8080/jenkins

通过Nginx代理,不加端口访问,只需在监听80端口的server块中添加一个location块

location /jenkins {  				    # /jenkins表示要访问的路由下的路径
	proxy_pass  http://127.0.0.1:8080;  # 请求转向本虚拟机的8080端口
	proxy_set_header        Host $host;
	proxy_set_header        X-Real-IP $remote_addr;  #获取真实ip
	proxy_connect_timeout   90;
	proxy_send_timeout      90;
	proxy_read_timeout      90;
	proxy_buffer_size       4k;
	proxy_buffers           4 32k;
	proxy_busy_buffers_size 64k;
	proxy_temp_file_write_size 64k;
	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;  # 获取代理者的真实ip
	proxy_redirect          off;
}

配置完成后重启Nginx,使用http://192.168.233.128/jenkins进行访问即可


3.代理部署在另一台服务器的程序,通过Nginx所在服务器访问其服务

在监听80端口的server块中添加一个location块

location /ApprPhD {                	     # 访问程序时需要在ip后添加的路径
	proxy_pass http://192.168.0.XXX:30;  # 请求转向XXX服务器上的服务
	proxy_set_header        Host $host;
	proxy_set_header        X-Real-IP $remote_addr;  #获取真实ip
	proxy_set_header REMOTE-HOST $remote_addr;
	proxy_connect_timeout   90;
	proxy_send_timeout      90;
	proxy_read_timeout      90;
	proxy_buffer_size       4k;
	proxy_buffers           4 32k;
	proxy_busy_buffers_size 64k;
	proxy_temp_file_write_size 64k;
	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;#获取代理者的真实ip
	proxy_redirect          off;
}

重启Nginx服务后,使用如下链接访问:http://192.168.233.128/ApprPhD

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐