Nginx是一个的静态文件和反向代理服务,轻量,方便部署,而且性能极高.
看完这篇文章, 你将点亮NGINX配置虚拟主机, 反向代理等技能点.

深入浅出

worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       80;
        server_name  localhost;

        location / {
            root   html;
            index  index.html index.htm;
        }
    }
}

上面这是一个nginx最基本的配置, 分http代码块, server代码块, 其中今天要玩的就是server这个代码块.

开始操作

首先在nginx的静态文件夹保证有两个html文件, 分别为index.htmlpage1.html, 里面的内容自己随便写, 只要能分清楚是哪个文件就好.

正常启动

正常启动Nginx, 访问通过服务器地址访问, 会访问到index.html的内容.

虚拟主机

第一个server代码块不需要更改, 下面紧接着添加:

    server {
        listen 80;
        server_name page1.com;
        location / {
            root html;
            index page1.html;
        }
    }

这样, 只要访问这个服务器的时候,请求头的Host键内容为page1.com, 可以通过抓包或者修改hosts文件的方式来达到目的.

反向代理

第二个server代码块不需要更改, 修改第一个server代码块的内容为:

    server {
        listen 80;
        server_name localhost;
        location / {
            proxy_pass http://hls.easy.echosite.cn/;
        }
    }

重启服务器, 访问localhost或者服务器真实IP, 你会发现, 显示的结果是你输入的http://hls.easy.echosite.cn的内容, 但是浏览器的URL依旧是localhost或服务器IP.

防盗链配置

原理: 通过nginx的if判断, 只允许通过合法的域名访问本网站, 其余的域名访问本网站的时候直接返回403。

server {
    listen 80;
    server_name youdoamin.com;
    if ($host !~* ^youdomain.com$)
    {
        return 403;
    }
    location / {
        root html;
        index index.html index.htm;
    }
}

临了, 最后的配置文件样子:

其实Nginx还有很多脚本类的东西, 太过深入就需要自己去研究了, NGINX一般还是作为接入层的反向代理去使用, 配置方便, 也轻量, 真的是做WEB必备的反向代理服务.

最后~ 文章中演示的hls.easy.echosite.cn是使用EchoSite2.0 内网穿透,就选他了!所内网穿透用来测试的, 如果有需要内网穿透的可以了解一下.