• 售前

  • 售后

热门帖子
入门百科

Nginx 捏造主机设置的三种方式(基于域名)

[复制链接]
工兵班长纬 显示全部楼层 发表于 2021-10-25 20:04:01 |阅读模式 打印 上一主题 下一主题
Nginx配置假造主机支持3种方式:基于IP的假造主机配置,基于端口的假造主机配置,基于域名的假造主机配置。
详解Nginx 假造主机配置的三种方式(基于IP) https://www.jb51.net/article/149774.htm

详解Nginx 假造主机配置的三种方式(基于端口) https://www.jb51.net/article/14978.htm

3、Nginx基于域名的假造主机配置

利用基于域名的假造主机配置是比较盛行的方式,可以在同一个IP上配置多个域名而且都通过80端口访问。
3.1 假设服务器有个IP所在为192.168.2.155
  1. [root@localhost ~]# ifconfig ens33:5 192.168.2.155/24 up
  2. [root@localhost ~]# ifconfig
  3. ens33:5: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
  4.   inet 192.168.2.155 netmask 255.255.255.0 broadcast 192.168.2.255
  5.   ether 00:0c:29:16:90:ae txqueuelen 1000 (Ethernet)
复制代码
3.2 192.168.2.155对应的域名如下,配置主机的host文件便于测试
  1. [root@localhost ~]# vim /etc/hosts
  2. [root@localhost ~]# cat /etc/hosts|grep 192.168.2.155
  3. 192.168.2.155 www.oa.com
  4. 192.168.2.155 www.bbs.com
  5. 192.168.2.155 www.test.com
复制代码
3.3 创建假造主机存放网页的根目录,并创建首页文件index.html
  1. [root@localhost ~]# cd /data/www/
  2. [root@localhost www]# mkdir www.oa.com
  3. [root@localhost www]# mkdir www.bbs.com
  4. [root@localhost www]# mkdir www.test.com
  5. [root@localhost www]# echo www.oa.com > www.oa.com/index.html
  6. [root@localhost www]# echo www.bbs.com > www.bbs.com/index.html
  7. [root@localhost www]# echo www.test.com > www.test.com/index.html
复制代码
3.4 修改nginx.conf,将假造主机配置文件包罗进主文件
  1. [root@localhost /]# cd /usr/local/nginx/conf/
  2. [root@localhost conf]# ls
  3. fastcgi.conf   fastcgi_params   koi-utf mime.types   nginx.conf   scgi_params   uwsgi_params   win-utf
  4. fastcgi.conf.default fastcgi_params.default koi-win mime.types.default nginx.conf.default scgi_params.default uwsgi_params.default
  5. [root@localhost conf]# vim nginx.conf
复制代码
在nginx.conf文件末尾加入以下配置
  1. # 在http段中找到以下内容并删除每行前面的“#”
  2. log_format main '$remote_addr - $remote_user [$time_local] "$request" '
  3.       '$status $body_bytes_sent "$http_referer" '
  4.       '"$http_user_agent" "$http_x_forwarded_for"';
  5. # 配置文件结尾的最后一个“}”之前加入以下语句,如下所示
  6. include vhost/*.conf
复制代码
3.5 编辑每个域名的配置文件(每个假造主机的配置文件)
  1. [root@localhost conf]# cd vhost/
  2. [root@localhost vhost]# cat www.oa.com.conf
  3. server {
  4.   listen  192.168.2.155:80;
  5.   server_name www.oa.com;
  6.   access_log /data/logs/www.oa.com.log main;
  7.   error_log /data/logs/www.oa.com.error.log;
  8.   location / {
  9.    root /data/www/www.oa.com;
  10.    index index.html index.htm;
  11.   }
  12. }
  13. [root@localhost vhost]# cat www.bbs.com.conf
  14. server {
  15.   listen  192.168.2.155:80;
  16.   server_name www.bbs.com;
  17.   access_log /data/logs/www.bbs.com.log main;
  18.   error_log /data/logs/www.bbs.com.error.log;
  19.   location / {
  20.    root /data/www/www.bbs.com;
  21.    index index.html index.htm;
  22.   }
  23. }
  24. [root@localhost vhost]# cat www.test.com.conf
  25. server {
  26.   listen  192.168.2.155:80;
  27.   server_name www.test.com;
  28.   access_log /data/logs/www.test.com.log main;
  29.   error_log /data/logs/www.test.com.error.log;
  30.   location / {
  31.    root /data/www/www.test.com;
  32.    index index.html index.htm;
  33.   }
  34. }
  35. [root@localhost vhost]# cat /data/www/www.oa.com/index.html
  36. www.oa.com
  37. [root@localhost vhost]# cat /data/www/www.bbs.com/index.html
  38. www.bbs.com
  39. [root@localhost vhost]# cat /data/www/www.test.com/index.html
  40. www.test.com
复制代码
3.6 创建日志文件,否则无法启动nginx
  1. [root@localhost /]# mkdir -p /data/logs
  2. [root@localhost /]# touch /data/logs/www.oa.com.log
  3. [root@localhost /]# touch /data/logs/www.oa.com.error.log
  4. [root@localhost /]# touch /data/logs/www.bbs.com.log
  5. [root@localhost /]# touch /data/logs/www.bbs.com.error.log
  6. [root@localhost /]# touch /data/logs/www.test.com.log
  7. [root@localhost /]# touch /data/logs/www.test.com.error.log
  8. [root@localhost /]# ls /data/logs/
  9. www.oa.com.error.log www.bbs.com.error.log www.test.com.error.log
  10. www.oa.com.log  www.bbs.com.log  www.test.com.log
复制代码
3.7 先测试配置文件然后再启动nginx
  1. [root@localhost /]# cd /usr/local/nginx/sbin/
  2. [root@localhost sbin]# ./nginx -t
  3. nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
  4. nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
  5. # 启动nginx
  6. [root@localhost sbin]# ./nginx
复制代码
3.8 测试文件
  1. [root@localhost vhost]# curl http://www.oa.com
  2. www.oa.com
  3. [root@localhost vhost]# curl http://www.bbs.com
  4. www.bbs.com
  5. [root@localhost vhost]# curl http://www.test.com
  6. www.test.com
复制代码
附:配置过程中的题目

1、最后测试时发生的题目
  1. [root@localhost ~]# curl http://www.oa.com
  2. curl: (7) Failed connect to www.oa.com:80; 拒绝连接
复制代码
办理方法:

查看Nginx是否在监听相应的端口。
  1. [root@localhost ~]# netstat -lnt
  2. Active Internet connections (only servers)
  3. Proto Recv-Q Send-Q Local Address   Foreign Address   State
  4. tcp  0  0 0.0.0.0:111    0.0.0.0:*    LISTEN
  5. tcp  0  0 192.168.2.155:80  0.0.0.0:*    LISTEN
  6. tcp  0  0 0.0.0.0:8080   0.0.0.0:*    LISTEN
  7. tcp  0  0 0.0.0.0:22    0.0.0.0:*    LISTEN
  8. tcp  0  0 127.0.0.1:25   0.0.0.0:*    LISTEN
  9. tcp6  0  0 :::111     :::*     LISTEN
  10. tcp6  0  0 :::22     :::*     LISTEN
  11. tcp6  0  0 :::23     :::*     LISTEN
  12. tcp6  0  0 ::1:25     :::*     LISTEN
复制代码
1、配置假造主机文件时要加上监听的IP所在,每个假造主机配置文件都一样。
  1. listen  192.168.2.155:80;
复制代码
2、配置完成后要重启服务器
以上就是本文的全部内容,盼望对大家的学习有所帮助,也盼望大家多多支持草根技术分享。

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作