• nginx只允许域名访问,禁止ip访问


    网上一搜一大堆配置文件。大部分都是对的。下面我说下我遇到的问题。先给上对的配置图

    无非就是添加虚拟空主机头,然后nginx识别到返回固定值403-404或者500更或者是自定义的错误页

    [root@localhost nginx]# find / -name nginx.conf
    /etc/nginx/nginx.conf
    [root@localhost nginx]# vi /etc/nginx/nginx.conf    编辑这个文件页。nginx加载的是这个配置。

    编辑这个文件一定要把新添加的内容放在前面,因为配置是从上往下匹配规则的。

       server {
          listen 80 default;
           server_name _;
    #       return 403;  ##这里可以选择403或者404-500甚至自定义网页
             rewrite ^(.*) http://www.xxxx.com;  ###我这个是为了避免我的网站ip访问的流量流失,做了重定向至自己的域名
        }

    然后重启nginx生效

    systemctl restart nginx.service

    注意我的这个nginx.conf文件是没有域名那些指定的,我最下面这句话就是nginx.conf加载指定配置文件。具体可以看我连接:https://www.cnblogs.com/Crazy-Liu/p/10879740.html
    新添加的这个代码一定要放在其他配置文件之前。所以我之前放在nginx.conf上

    现在我说说我遇到的问题。一开始我就这么设置结果各种问题,要么是域名ip都打不开或者就是域名能打开ip打不开。这种情况一定是配置文件冲突了,不用想!!

    我错的是在这这个问题上冲突了。我的nginx.conf已经配置是加载/etc/nginx/conf.d/下的所有.conf文件,而恰恰我这个conf.d/这个目录下不止一个.conf文件,一个是备份的旧文件,而且我的这个旧文件里面的虚拟机主机头是ip的。下面贴出冲突的错误配置代码:

    server{
    listen             80;                    #监听的端口号
    server_name     xxx.xxx.xxx.xxx;    #您的域名     
          location / {
              root /home/www/xxx.com;        #站点的路径
              index index.php index.html index.htm;
              if (!-e $request_filename) {
                  rewrite ^(.*)$ /index.php$1 last;
              }
          }
    location ~ ^.+.php {
              root /home/www/xxx.com;        #站点的路径
              fastcgi_pass 127.0.0.1:9000;    #根据自己的 php-fpm 配置填写
              fastcgi_index index.php;
              ###配置支持pathinfo
              fastcgi_split_path_info ^((?U).+.php)(/?.+)$;
                fastcgi_param PATH_INFO $fastcgi_path_info;
                fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
              fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
              include fastcgi_params;
          }
        }

    因为我是设置多域名了所以把这个原本的配置文件备份了,结果nginx.conf是加载我指定目录下的所有.conf文件,把备份的旧的文件也读取了。而旧文件server_name xxx.xxx.xxx.xxx; 写的是ip所以导致冲突没生效。

    所以啊,遇上这种配置好了结果各种问题的要先检查下自己的配置。有问题请留言评论!

  • 相关阅读:
    Dreamweaver中SourceAnyWhere的使用
    访问被拒绝:“AjaxPro”的解决方案
    NDoc1.3.1使用手册
    程序中操作Excel
    模拟提交程序相关专题
    利用SMTP服务发送电子邮件
    如何使用树形控件
    GDI+简单使用例子
    程序中操作Word
    签名工具使用介绍
  • 原文地址:https://www.cnblogs.com/Crazy-Liu/p/10880283.html
Copyright © 2020-2023  润新知