首页 > 系统相关 >Nginx代理设置

Nginx代理设置

时间:2024-05-07 22:00:45浏览次数:17  
标签:http 代理 server Nginx proxy 设置 pass localhost location

Nginx代理设置

需求

只有一个服务器,但是有多个应用在不同端口,需要通过域名或ip加路径的组合实现访问,不能是ip:port这样来访问

工具

Nginx

sudo apt install nginx

Nginx配置

先上配置,配置文件位置:/etc/nginx/nginx.conf

# 找到http部分
http {

	..........省略部分默认配置
	include /etc/nginx/mime.types;
	default_type application/octet-stream;

	# 下面是自己加的部分
	server {
		listen 80;
		server_name localhost; # 代表这个server直接用ip访问
		location /foo {
			proxy_pass http://localhost:8080/;
		}
		location /bar/ {
			proxy_pass http://localhost:8888/;
		}
	}

	server {
		listen 80;
		server_name example.com; # 代表用域名访问
		location / {
			proxy_pass http://localhost:8080/;
		}
	}

	server {
		listen 80;
		server_name foo.example.com; # 用子域名来区分服务
		location / {
			proxy_pass http://localhost:8888/;
		}
    }

	##
	# SSL Settings
	##

	..........省略部分默认配置

	#! 下面的玩意得注释了,不然直接用ip访问不行
	#include /etc/nginx/conf.d/*.conf;
	#include /etc/nginx/sites-enabled/*;
}

如上:

基本格式是

http {
	server {
		listen 80;								# 监听的端口
		server_name localhost;					# 请求的域名或者ip,对其进行匹配解析
		location / {
			proxy_pass http://localhost:port/;	# 将其转发到具体的ip和端口
		}
	}
}

一个server对应一个server_name,也就是域名

location这是匹配具体的路由,对不同路由,用proxy_pass进行转发,到实际的服务地址

注意http://localhost:port/后面的/,不加那么实际请求会保留匹配的路由,加了就以匹配的路由为根

对于location /foo { proxy_pass http://localhost:8080; }

当访问 http://example.com/foo时,转发后的实际请求是 http://localhost:8080/foo

若是加了/,则转发后的实际请求是http://localhost:8080/

这样,通过不同的域名和路由,只访问80端口而实现了对不同端口的服务的访问

标签:http,代理,server,Nginx,proxy,设置,pass,localhost,location
From: https://www.cnblogs.com/faf4r/p/18178498

相关文章

  • Nginx配置中文详解
    Nginx配置文件nginx.conf中文详解参考:Nginx入门指南https://www.w3cschool.cn/nginx/######Nginx配置文件nginx.conf中文详解######定义Nginx运行的用户和用户组userwwwwww;#nginx进程数,建议设置为等于CPU总核心数。worker_processes8;#全局错误日志定义类......
  • nginx在docker中 清理
    killall-9nginx lsof-iTCP-sTCP:LISTEN-P|grep:80 yuminstallpsmisc-y sudoss-tunlp|grep:8517 ll/proc/65844/cwd查找并停止占用端口的进程:使用以下命令找出哪个进程正在监听这些端口:sudolsof-i:80sudolsof-i:443或者使用netstat:sudone......
  • HydroOJ 从入门到入土(17)各种客观题的设置
    HydroOJ的客观题功能,潜力巨大,但不够好用。期待易用性改进。一、想法本来觉得客观题的配置,官方文档已经写得清清楚楚了,照着做就可以了,结果没想到成为了群里日经问题。而且由于是日经问题,所以群里几乎没啥人会给新手回答此类问题,就很影响入门体验。直到前两天指导了一个来问......
  • 电脑桌面备忘录在哪里设置?好用的电脑桌面备忘录软件
    在日常工作和生活中,电脑桌面备忘录的重要性不言而喻。想象一下,在繁忙的工作中,你能够一眼看到桌面上的备忘录提醒,从而及时完成重要任务,或者在紧张的学习中,通过备忘录快速回顾关键知识点。一款优秀的电脑桌面备忘录软件,能够极大地提升我们的效率。那么,电脑桌面备忘录在哪里设置呢?好......
  • 网页布局-----头部设置和头部悬浮显示内容
    小米商城官网地址小米商城-Xiaomi14Ultra、RedmiK70、MIXFOLD3,小米电视官方网站一、头部1、效果图2、网页结构<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=devi......
  • 设置Winform窗体内控件跟随窗体大小变化而变化
    点击查看代码#region界面放大处理privatefloatx;//窗体大小全局变量privatefloaty;//窗体大小全局变量#region获取控件的width、height、left、top、字体大小值,存放在控件的Tag属性中privatevoidsetTag(Controlcons){//遍历窗体中的控......
  • 动态设置时间显示:hh:mm、星期、或具体日期
    封装共同方法exportfunctionformatMsgTime(time){//time传入的是时间戳,且时间戳长度为10位consttodayZero=newDate().setHours(0,0,0,0);constyearZero=newDate(newDate().getFullYear(),0,1,0,0,0,0).getTime();consttarget=newD......
  • redis-nginx-consul-rocketmq-主机巡检脚本
    架构介绍:6台服务器(192.55.11.1192.55.11.2192.55.11.3192.55.11.4192.55.11.5192.55.11.6)192.55.11.1 192.55.11.2只需巡检主机的cpu、内存、磁盘192.55.11.3需巡检主机的cpu、内存、磁盘,Nginx的连接数192.55.11.4 192.55.11.5需巡检主机的cpu、内存、磁盘,consul日志......
  • 代理 mitmproxy Python非命令行启动 使用笔记(一)
    代理mitmproxyPython非命令行启动使用笔记(一)mitmproxyPython非命令行启动在进行APP应用操作时,难免会遇到抓包操作,于是我们这里使用mitmproxy来完成这能力目录mitmproxy简介mitmproxy常用的命令行启动mitmproxy非命令行脚本直接启动,两种方式简介mitmproxy是......
  • docker-compose+nginx实现服务不中断更新
    思路是写一个脚本,docker-composescale扩容,然后重写nginx配置文件,刷新负载均衡nginx重写的配置文件,文件名service,里面只有upstream,例如:upstreame-chatbot-server-dev{server0.0.0.0:8080;server0.0.0.0:8081;}脚本使用方法:./rollupdate.sh--service=test-serve......