自动屏蔽域

时间:2018-07-30 09:41:42

标签: php nginx domain-masking

我的问题与此类似:Domain masking/pointing to a directory of a web application?

我只想澄清一下,还有其他方法吗?哪个更好?

我正在使用laravel,nginx,mongodb(并绑定为模拟DNS配置)。

说我在mydomain.com中有一个Web应用程序,每个用户都可以创建自己的页面并获取子域并向其中添加自定义域。

例如customdomain.me转发到mypage.domain.com

当用户提交新的自定义域(用户可以向1个子域添加多个自定义域)时,此过程应自动完成。

我所做的是设置DNS通配符以使用Bind将所有子域指向mydomain.com,并使用server_name _;配置nginx.conf文件,该文件将捕获所有请求。然后,我使用laravel在php中创建脚本,以正确打开每个子域的页面。

现在,我想自动执行用户只需要(在将其域指向我的IP之后)填写表单中的自定义域和子域的域掩码。

到目前为止,我有2种方法:

  1. 在nginx中使用proxy_pass

    server {
        listen 80;
        server_name customdomain.me;
    
        location / {
            proxy_pass http://rizky.domain.com;
            proxy_set_header Host rizky.domain.com;
        }
    }
    

    我认为这种方法不是很好,因为我必须为每个自定义域(或至少为每个用户)添加新的块服务器,并在每次更改中重新加载nginx,如果使用Web应用程序则很难做到已经活了。

  2. 完全使用脚本将自定义域转发到子域

    第二种方法,我将自定义域-子域对存储在数据库(mongodb)中,然后使用laravel路由将自定义域转发到子域并提供正确的页面。

    我认为第二种方法更好,但是当用户数量增加时,我不确定这种方法是否仍然可靠

我再说一遍,对于这种情况,是否有更好的方法来自动转发带有屏蔽的域?

如果我的问题不好或没有主题,我将其删除。

谢谢。

0 个答案:

没有答案
相关问题