我的问题与此类似: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种方法:
在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应用程序则很难做到已经活了。
完全使用脚本将自定义域转发到子域
第二种方法,我将自定义域-子域对存储在数据库(mongodb)中,然后使用laravel路由将自定义域转发到子域并提供正确的页面。
我认为第二种方法更好,但是当用户数量增加时,我不确定这种方法是否仍然可靠
我再说一遍,对于这种情况,是否有更好的方法来自动转发带有屏蔽的域?
如果我的问题不好或没有主题,我将其删除。
谢谢。