首页 运维 网络学院 查看内容

图解在CentOS7配置nginx服务(支持多域名,禁IP直访,防恶意解析)

2018-6-20 18:56 |来自: 互联网 5211 0

摘要: 一、安装1、用yum命令安装yum install nginx -y2、nginx -t 可用来检查一遍是否配置脚本运行正常3、启动服务systemctl start nginx.service4、服务配置为自动启动systemctl enable nginx.service二、配置文件配置文 ...

一、安装

1、用yum命令安装

yum install nginx -y

2、nginx -t 可用来检查一遍是否配置脚本运行正常

3、启动服务

systemctl start nginx.service

4、服务配置为自动启动

systemctl enable nginx.service

二、配置文件

配置文件为 /etc/nginx/nginx.conf

基本结构是

三、配置中禁止恶意解析,禁止ip直接访问

国内网站的特殊性,国内空间必须备案才能使用,如果域名指向某一空间ip而未备案,会导致该空间被强制关闭。正常情况下,你给自己的域名指向自己的空间并做了备案处理就结束了。但是此时如果有第三方恶意的将其它域名解析指向你的空间,则你的空间和该域名之间就属于未备案状态了。结果是导致你的空间收到处罚。

禁止恶意解析,禁止ip直接访问的目的,就是让本服务器仅响应自己指定的域名,对第三方的域名接入或者ip直接接入返回错误,达到禁止恶意解析的目的。

在前述配置文件的server块处,添加以下块内容

server {

listen 80 default_server;

server_name _;

return 403;

}

修改原server_name块,其中server_name填写自己的域名

多个server情况下,匹配优先级按照server_name格式决定: 准确的>*通配符开始>*通配符结束>正则式

因此自己域名的访问,最先匹配,并指向自己的root目录

其它未知域名或者无域名的访问,只能匹配到server_name _; 结果是返回错误信息。

注意其中写上 default_server 或者default

四、配置支持多域名

通常,一个服务器可用挂载多个网站,节约成本,利用多server块可为不同域名的接入请求配置出不同的目录服务。

例如

五、进一步的配置技巧

server块中,server_name可以是准确的域名,

也可以是通配符字符串,例如 *.aaaa.com bbbb.*

也可以是正则式 ,例如 ~^(?.+)\.aaaa\.com$;

其中括号中取得的内容可用$1这类标记在随后的本地路径配置中引用

由于server块中的location也是可用正则式匹配url的,如果location也使用了正则,则会影响先前server_name正则取出的变量。解决办法是用set命令将server_name正则取出的变量存放在临时变量中

例如

server_name ~^(?.+)\.aaaa\.com$;

set $temp $1;

nginx是一款非常强大的服务器软件,本文介绍的配置可以快速为你搭建一个自己的网站,但是更多的配置细节,建议您参考专门的书籍。

敬请继续关注“有只狗狗叫多多”,不要错过哦!感谢您收藏、转发。

本文出处: https://www.toutiao.com/i6539526258907152904/
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部