nginx反向代理

在配置文件中定义,一般是nginx.conf

场景:如,有两个网站,使用不同的服务器来提供的,但是我的公网IP只有一个。 现在把这个公网IP的80端口映射到一台转发的nginx上面,再在这一台上面配置反向代理,就可以实现。

如A网站的地址是 192.168.10.23 域名是 www.example.com B网站的地址是 192.168.10.24 域名是 www.test.com

在 nginx 的配置反向代理如下

 1server {
 2    listen 80;
 3    server_name www.example.com;
 4
 5    location / {
 6        proxy_pass http://192.168.10.23;
 7    }
 8}
 9
10server {
11    listen 80;
12    server_name www.test.com;
13
14    location / {
15        proxy_pass http://192.168.10.24;
16    }
17}

主要是 server_name 指定域名,以及 proxy_pass 指定后端的服务器

启用 http 的 ssl 配置

 1server {
 2    listen 443 http2;			# 监听的端口, https的默认端口为443
 3    server_name www.test.com;	# 域名
 4
 5    ssl_certificate /path/to/your/file/site.pem;		# 证书文件
 6    ssl_certificate_key /path/to/your/file/site.key;	# 私钥文件
 7
 8    location / {
 9        proxy_pass http://192.168.10.24;
10    }
11}