Cento7+Nginx反向代理实现多域名跳转

本文涉及的产品
.cn 域名,1个 12个月
简介:

近期比较忙,所以很少写文档了,最近有个项目组有多个环境需要做映射,所以就想到了通过Nginx反向代理实现多域名地址跳转,以致就总结了一下,其实说到代理我们大家都知道。最常见最常说的所谓的就是NAT,就是将内部多个地址请求通过代理转达到外部。这个就叫正向代理,那什么是反向代理呢-就是和正向代理相反;所以很好理解,Nginx反向代理功能很强大,可以通过一个nginx代理实现多个域名及不同的端口进行代理转发,所以在日常的运维中很有帮助。我们今天的演示是通过Nginx反向代理实现内部不同的多个域名转发。具体见下:

环境:

Hostname:A-S.IXMSOFT.COM

IP:192.168.5.21

Role:Nginx service

Hostname:B-S.IXMSOFT.COM

IP:192.168.5.22

Role:Nginx service

Hostname:D-S.IXMSOFT.COM

IP:192.168.5.20

Role:Nginx反向代理

需求:通过配置Nginx反向代理访问不同的域名实现跳转。

我们内部两台提供测试的Nginx提供的web服务已经安装完成。

我们需要在默认的nginx默认的显示页面上进行编辑显示内容:

1
vim  /usr/share/nginx/html/index .html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<!DOCTYPE html>
<html>
< head >
<title>Welcome to nginx!< /title >
<style>
     body {
         width: 35em;
         margin: 0 auto;
         font-family: Tahoma,
Verdana, Arial, sans-serif;
     }
< /style >
< /head >
<body>
<h1>Welcome to A-S Nginx< /h1 >
<p>HostName:A-S< /p >
<p>IP:192.168.5.21< /p >
< /body >
< /html >

192.168.5.21

image

192.168.5.22

image

接下来我们就开始安装及配置Nginx反向代理了;

我们先安装nginx,因为是Centos7,所以我们需要安装nginx仓库。

1
2
Yum  install  http: //nginx .org /packages/centos/7/noarch/RPMS/nginx-release-centos-7-0 .el7.ngx.noarch.rpm
yum  install  nginx

clip_image001[6]

clip_image001[8]

我们最好能备份一下nginx.conf文件

1
cp  /etc/nginx/nginx .conf  /etc/nginx/nginx .conf.bak

clip_image001[10]

然后我们打开默认的nginx.conf文件

1
vim  /etc/nginx/nginx .conf

就可以看见默认的Nginx.conf的内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
user nginx;
worker_processes 1;
error_log  /var/log/nginx/error .log warn;
pid  /var/run/nginx .pid;
events {
worker_connections 1024;
}
http {
include  /etc/nginx/mime .types;
default_type application /octet-stream ;
log_format main  '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"' ;
access_log  /var/log/nginx/access .log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include  /etc/nginx/conf .d/*.conf;

clip_image001[12]

们看见nginx默认配置下包括了一个包含多个配置文件的选项,所以我们一般可以不修改这个默认的配置文件;

而且默认的配置文件中,已经包含了nginx配置文件的加载目录,意思是,只要是在/etc/nginx/conf.d/下的所有的.conf文件都会被加载。

另外我们需要注意的是这个配置文件的内容在http区域中。

clip_image001[14]

我们查看默认的配置文件

clip_image001[16]

我们查看默认的default.conf文件内容

1
vim default.conf

clip_image001[18]

我们看见这个配置文件已经占用了80端口,我们将80端口修改,不然会有冲突,再次更改为88。

clip_image001[20]

接下来我们新建一个配置文件,来配置反向代理内容,当然我们也可以直接在默认的配置文件中进行修改,但是我们一般的做法是不在默认的配置上修改。

1
vim realy-proxy.conf

然后添加server地址信息

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
26
27
28
29
30
31
32
33
34
35
36
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504  /50x .html;
location =  /50x .html {
root html;
}
}
server
{
listen 80;
server_name d1.ixmsoft.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: //192 .168.5.21:80;
}
}
server
{
listen 80;
server_name d2.ixmsoft.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: //192 .168.5.22:80;
}
}

image

--------------------------------------------------------------------------------

我们最后添加一个log文件,记录访问的log

我们需要在/etc/nginx 目录下创建一个log目录

1
2
cd  /etc/nginx
mkdir  logs

这个文件夹得有你启动nginx用户的写权限

clip_image001[22]

然后在新建的配置文件里面添加

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
26
27
28
29
30
31
32
33
34
35
36
37
38
server {
listen 80;
server_name localhost;
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504  /50x .html;
location =  /50x .html {
root html;
}
}
server
{
listen 80;
server_name d1.ixmsoft.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: //192 .168.5.21:80;
}
access_log logs /d1 .ixmsoft.com_access.log;
}
server
{
listen 80;
server_name d2.ixmsoft.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: //192 .168.5.22:80;
}
access_log logs /d2 .ixmsoft.com_access.log;
}

然后重启nginx服务就可以了

1
systemctl restatrt nginx

接下来我们测试访问

访问前,我们需要将server_name的两个域名在DNS中指向Nginx IP,这样使用域名才可以访问

1
我们访问d1.ixmsoft.com

clip_image018

1
d2.ixmsoft.com

clip_image020

最后我们在log目录查看log

1
cd  /etc/nginx/logs

image

我们分别查看两个log文件内容

cat d1.ixmsoft.com_access.log

cat d2.ixmsoft.com_access.log

我们可以看见是哪个机器访问的IP地址都会被显示

image



本文转自 高文龙 51CTO博客,原文链接:http://blog.51cto.com/gaowenlong/1881318,如需转载请自行联系原作者

相关文章
|
9天前
|
缓存 负载均衡 应用服务中间件
Nginx 代理管理器强势登场!轻松设置反向代理,为你的网络安全与高效护航,快来探索!
【8月更文挑战第23天】Nginx 代理管理器(NPM)是一款强大的工具,用于简化反向代理的设置流程。反向代理能隐藏后端服务器的真实IP,提升安全性,实现负载均衡与缓存等功能。用户需先安装Nginx 代理管理器,然后通过其Web界面添加代理主机,指定代理名称、协议类型、服务器地址及端口等信息。对于HTTPS协议,还需上传SSL证书/密钥。完成设置后,可通过浏览器测试反向代理是否正常工作。Nginx 代理管理器还支持高级特性,如负载均衡、缓存及访问控制等。
21 1
|
11天前
|
负载均衡 应用服务中间件 Linux
"揭晓nginx的神秘力量:如何实现反向代理与负载均衡,拯救服务器于水火?"
【8月更文挑战第20天】在Linux环境下,nginx作为高性能HTTP服务器与反向代理工具,在网站优化及服务器负载均衡中扮演重要角色。本文通过电商平台案例,解析nginx如何解决服务器压力大、访问慢的问题。首先介绍反向代理原理,即客户端请求经由代理服务器转发至内部服务器,隐藏真实服务器地址;并给出配置示例。接着讲解负载均衡原理,通过将请求分发到多个服务器来分散负载,同样附有配置实例。实践表明,采用nginx后,不仅服务器压力得到缓解,还提升了访问速度与系统稳定性。
25 3
|
10天前
|
缓存 负载均衡 应用服务中间件
如何配置 NGINX 反向代理
【8月更文挑战第21天】
43 0
如何配置 NGINX 反向代理
|
7天前
|
应用服务中间件 Linux nginx
【Azure 应用服务】App Service For Container 配置Nginx,设置/home/site/wwwroot/目录为启动目录,并配置反向代理
【Azure 应用服务】App Service For Container 配置Nginx,设置/home/site/wwwroot/目录为启动目录,并配置反向代理
|
9天前
|
缓存 负载均衡 安全
介绍一下Nginx的反向代理功能吧
【8月更文挑战第22天】介绍一下Nginx的反向代理功能吧
21 0
|
9天前
|
缓存 安全 应用服务中间件
Nginx的反向代理功能有哪些应用场景呢
【8月更文挑战第22天】Nginx的反向代理功能有哪些应用场景呢
37 0
|
9天前
|
缓存 负载均衡 监控
Nginx的反向代理功能如何实现的呢
【8月更文挑战第22天】Nginx的反向代理功能如何实现的呢
11 0
|
4月前
|
域名解析 弹性计算 Linux
阿里云购买云服务器、注册域名、备案及绑定图文教程参考
本文为大家介绍了2024年购买阿里云服务器和注册域名,绑定以及备案的教程,适合需要在阿里云购买云服务器、注册域名并备案的用户参考,新手用户可通过此文您了解在从购买云服务器到完成备案的流程。
阿里云购买云服务器、注册域名、备案及绑定图文教程参考
阿里云域名购买注册流程_创建信息模板_域名实名认证全流程
阿里云域名注册指南:访问[阿里云域名注册入口,查询并注册心仪域名,选择后缀,加入清单后结算。价格因后缀而异,如.com首年78元。创建域名信息模板完成实名认证,首次需上传资料。获取优惠口令并使用可享折扣
|
7天前
|
安全 数据建模 网络安全
阿里云SSL证书价格多少钱一年?单域名和通配符收费明细整理
阿里云提供多样化的SSL证书服务,包括免费及付费选项。免费版由DigiCert提供,适合基本需求,有效期为3个月。付费证书品牌涵盖WoSign、DigiCert、GlobalSign等,价格从238元/年起。不同品牌与类型的证书(如DV、OV、EV)费用各异,满足各类安全需求。详情及最新价格请访问阿里云官方页面。

热门文章

最新文章

下一篇
云函数