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

Cento7+Nginx反向代理实现多域名跳转,第1张

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

Cent7+nginx反向代理实现多域名跳转

最近比较忙,所以很少写文档。最近一个项目组有多个环境要映射,就想到了通过Nginx反向代理实现多域地址跳转,于是总结了一下。其实说到代理我们都知道。最常见的是NAT,通过代理将多个内部地址请求传递到外部。这叫正向代理,那么什么是反向代理——也就是正向代理的反义词;所以很容易理解nginx反向代理非常强大,一个Nginx代理可以转发多个域名和不同端口,所以在日常运维中很有帮助。今天演示的是通过Nginx反向代理实现多个域名的内部转发。查看以下详细信息:

环境:

主机名:A-S.IXMSOFT.COM

IP:192.168.5.21

角色:Nginx服务

主机名:B-S.IXMSOFT.COM

IP:192.168.5.22

角色:Nginx服务

主机名:D-S.IXMSOFT.COM

IP:192.168.5.20

角色:Nginx反向代理

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

由我们的两个提供测试的内部Nginx提供的web服务已经安装。

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

vim /usr/share/nginx/html/index.html <!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

192.168.5.22

接下来,我们开始安装和配置Nginx反向代理;

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

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

我们最好备份nginx.conf文件

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

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

vim /etc/nginx/nginx.conf

您可以看到默认Nginx.conf的内容

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;

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

而且默认的配置文件已经包含了nginx配置文件的加载目录,也就是说所有的。将加载/etc/nginx/conf.d/下的conf文件。

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

我们来看看默认的配置文件。

我们检查default.conf文件的内容。

vim default.conf

我们看到这个配置文件占用了端口80。我们会修改端口80,否则会有冲突,重新改成88。

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

vim realy-proxy.conf

然后添加服务器地址信息。

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; } }

-

最后,我们添加一个日志文件来记录被访问的日志。

我们需要在/etc/nginx目录下创建一个日志目录。

cd /etc/nginx mkdir logs

这个文件夹必须有写权限,你才能启动nginx用户。

然后将其添加到新的配置文件中。

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服务。

systemctl restatrt nginx

接下来,我们将测试面试。

在访问之前,我们需要将server_name的两个域名指向DNS中的NginxIP,这样就可以访问域名了。

我们访问d1.ixmsoft.com

d2.ixmsoft.com

最后,我们检查日志目录中的日志。

cd /etc/nginx/logs

让我们分别看看两个日志文件的内容。

catd1.ixmsoft.com_access.log

catd2.ixmsoft.com_access.log

我们可以看到哪个机器访问的IP地址会显示出来。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/zz/778061.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-03
下一篇 2022-05-03

发表评论

登录后才能评论

评论列表(0条)

保存