标签: wildcard-subdomain

使用Apache VirtualHost创建通配符子域

我想要这种情况:

  1. 如果用户请求使用此URL:example.com或者www.example.com,用户将index.php在此目录中看到/home/admin1/public_html/

  2. 但是当用户请求使用其他子域(通配符)时freediscount.example.com,用户将index.php在此路径中看到:/home/admin1/public_html/userweb/freediscount.example.com

我托管的技术支持建议我使用这种方法:http://www.wiredstudios.com/php-programming/setting-up-wildcard-dns-for-subdomains-on-cpanel.html

基于该教程,PHP有一个新工作...当用户请求子域时重定向特定文件夹.我不喜欢这种方法.对我来说,如果Apache可以处理这个问题会更好.

几乎接近我需要的是这个方法:Virtualhost For Wildcard Subdomain和Static Subdomain

但是,我有一个VirtualHost设置问题,如何VirtualHost正确创建该情况?

这是我所做的但没有奏效:

## I think this one is for www or without www, automatically generated with WHM
<VirtualHost xx.xx.xx.xx:80> 
ServerName example.com
ServerAlias www.example.com
DocumentRoot /home/admin1/public_html
</VirtualHost>

## Here's what I'm trying to add
<VirtualHost xx.xx.xx.xx:80>
    ServerName example.com
    DocumentRoot /home/admin1/public_html/userweb/*
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

apache wildcard-subdomain virtualhost

16
推荐指数
2
解决办法
4万
查看次数

使用https时基于主机的nginx代理

我需要使用Nginx作为SSL代理,它根据子域将流量转发到不同的后端.

我似乎无处不在,我应该定义多个"服务器{"部分,但这对SSL不起作用.这样做我将始终在第一个虚拟主机中处理SSL,因为在处理https流量之前,服务器名称是未知的.

场景:

  • 一个IP地址
  • 一个SSL通配符通配符
  • 需要访问的多个后端如下所示:

    https://one.mysite.com/ -> http://localhost:8080
    https://two.mysite.com/ -> http://localhost:8090
    
    Run Code Online (Sandbox Code Playgroud)

Nginx说"如果"是邪恶的:http://wiki.nginx.org/IfIsEvil,但我还能做些什么?

我试过这个,但它不起作用,我得到500错误但错误日志中没有任何内容.

    server {
    listen 443;
    server_name *.mysite.com;

    ssl on;
    ssl_certificate ssl/mysite.com.crt;
    ssl_certificate_key ssl/mysite.com.key;

    location / {
        if ($server_name ~ "one.mysite.com") {
            proxy_pass http://localhost:8080;
        }
        if ($server_name ~ "two.mysite.com") {
            proxy_pass http://localhost:8090;
        }
    }
Run Code Online (Sandbox Code Playgroud)

有没有人设法用Nginx完成这个任务?任何帮助/替代方案,链接,将不胜感激.

ssl https proxy wildcard-subdomain nginx

16
推荐指数
1
解决办法
2万
查看次数

Google控制台重定向URI中的子域

我有一个使用谷歌API(谷歌驱动器)的网络应用程序.许多客户端都使用该应用程序,每个客户端都有一个子域来访问系统.

所以该域名是appdomain.com

对于用户,我有foo.appdomain.com, bar.appdomain.com.appdomain.com.

但在谷歌控制台重定向URI我必须手动放置重定向网址,有没有办法我可以使用通配符重定向使谷歌接受任何子域,如:*.appdomain.com?

有了这个,我可以使用redirect_uri中的用户子域进行谷歌授权调用:

https://accounts.google.com/o/oauth2/auth?redirect_uri=http://foo.appdomain.com
Run Code Online (Sandbox Code Playgroud)

subdomain wildcard-subdomain google-api google-authentication oauth-2.0

12
推荐指数
2
解决办法
1万
查看次数

自签名证书:DNSName组件必须以字母开头

有没有办法让java的keytool在SAN中使用通配符生成自签名证书(主题备用名称)?我正在使用此命令生成密钥库:

keytool -genkey -alias tomcat -storetype JKS -keyalg RSA -keysize 2048 -ext san=dns:*.example.com -keystore "path/to/my/keystore.jks" -validity 3650
Run Code Online (Sandbox Code Playgroud)

但我明白了 IOException: DNSName components must begin with a letter

显然,问题出*.example.com在SAN中,但我没有看到为example.com子域生成自签名证书的其他方法.

根据这个,应该是可以的.我的语法错误,keytool中的错误,或者我误解了什么?

顺便说一下,我正在使用JDK 1.8 update 60中的keytool

编辑我设法example.com通过指定生成所有子域的自签名证书CN=*.example.com,并将SAN留空.尽管如此,我将Omikron的答案视为已被接受(因为它是一个真正的答案,而不是绕过限制).

java wildcard-subdomain certificate self-signed keytool

12
推荐指数
1
解决办法
8391
查看次数

Nginx通配符代理,将子域传递给服务器(上游代理)

我希望能够通过子域 .domain.com到.domain.com Apache服务器,与子域的信息了.

我想为域创建一个nginx缓存,就像通配符一样,但是将子域传递到目的地(也有apache witch wildcard).到目前为止,我通过proxy_set_header Host $ host传递信息; 但我想在apache服务器上有子域请求.

  upstream domain.com {
    server 172.1.1.1:80 weight=50 fail_timeout=30s;
  }

  server {
    server_name *.domain.com;

    location / {
      proxy_pass http://domain.com;
      #proxy_pass $request;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header Host $host;
     }

    location ~* ^.+.    (jpg|jpeg|gif|png|ico|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|swf)$ {
     proxy_pass http://topmanagergame.com;
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
     proxy_cache my-cache;
     proxy_cache_valid  200 302  30m;
     proxy_cache_valid  404      1m;
    }

    access_log /var/log/nginx/domain.com.log main;
    error_log off;
 }
Run Code Online (Sandbox Code Playgroud)

你认为我可以在上游使用proxy_pass吗?

Nginx (*wildcard_domain.com) --(cache)--> Apache (*wildcard_domain.com)
Nginx (anything.domain.com) --(cache)--> Apache …
Run Code Online (Sandbox Code Playgroud)

wildcard-subdomain wildcard nginx

10
推荐指数
2
解决办法
2万
查看次数

在本地主机上设置通配符域(OS X 10.5)?

我开始开发一个基本上充当WordPress MU的网站,用户可以注册并拥有自己的博客.我将在Rails中对此进行编码,但我希望能够使用通配符子域,因此我可以使用blog.example.com等格式.我做了一些搜索,但我找不到任何好的资源.

由于我使用Rails,我不知道在哪里放这个,因为我使用的是Mongrel,而不是Apache.我可以通过在我的服务器上远程开发来绕过在本地计算机上执行此操作,但是我只想将此作为最后的手段.

如果需要,我可以提供有关我的开发环境的更多详细信息,但以下是基础知识:

  • Mac OS X Leopard 10.5.6
  • Ruby 1.8.7
  • Rails 2.3.2

subdomain macos wildcard-subdomain ruby-on-rails localhost

9
推荐指数
1
解决办法
7018
查看次数

如何创建SaaS应用程序?

我不知道怎么说,所以我只是要解释我的理想情景,希望你能向我解释如何实现它......

我正在使用将与DreamHost托管的Zend Framework创建一个应用程序.该应用程序将托管在自己的域(即example-app.com)上.基本上,用户应该能够注册,获取他们自己的域sampleuser.example-app.com或example-app.com/sampleuser,它们指向的是什么,看起来像他们自己的应用实例,这实际上是一个单一的实例根据网址提供不同的内容.

最终,我希望我的用户能够创建自己的域名(如foobar.com),指向sampleuser.example-app.com,这样foobar.com的访问者就不会注意到该网站真的被提供了来自example-app.com.

我不知道如何做大部分的事情.这个过程如何运作?我是否需要使用Apache做一些时髦的东西,或者这可以通过DreamHost等第三方主机来完成?

更新:感谢您的建议!我决定咬紧牙关并升级我的托管计划以使用通配符子域.它比我想象的便宜!我还发现了域名经销商程序,比如opensrs.com,它们有自己的API.我认为使用其中一个API将是我的域名注册问题的解决方案.

dns zend-framework web-applications wildcard-subdomain saas

8
推荐指数
1
解决办法
4873
查看次数

设置子子域可访问的跨子域cookie?

我已经设置了一个域名为cookie的cookie .example.com.它适用于我的网站上的每个第一级子域,因为它应该是.

这是没有,不过,可在ñ个级别的子域,即sub.subdomain.example.comtoo.many.subdomains.subdomain.example.com没有看到跨子域的cookie,而subdomain.example.com做.有没有解决这个问题?

cookies subdomain wildcard-subdomain

8
推荐指数
1
解决办法
3416
查看次数

8
推荐指数
1
解决办法
3825
查看次数

使用 NextJS 进行动态子域路由

如何在 NextJS 中实现动态子域路由功能?

abc示例:如果用户在站点中提供用户名,xyz那么他可以访问他的站点abc.xyz.com

另外,如果用户有abc.com域,那么他可以指向abc.comabc.xyz.com 所以”,如果将来有人打开abc.com,则abc.xyz.com可以提供服务。URL 中也abc.com显示了。

我调查了 NPM 中的一些插件,例如 vhost 和通配符子域,但不确定这是解决此问题的正确方法。

虚拟主机需要对hosts本地系统中的系统进行更改,而通配符子域纯粹通过路由解决了问题。

本地系统设置我已经使用暂时有效的代码自定义了Server.js,但似乎不是可以在生产中使用的解决方案:

服务器.js

  ...
    if (pathname === "/demo.demo.com") {
          app.render(req, res, "/demo.demo.com", query);
    }
    ...
Run Code Online (Sandbox Code Playgroud)

在_app.js

static async getInitialProps(appArgument) {
   ...
    return {
      ...
      renderFrom: "demo.demo.com"
    };
  }
Run Code Online (Sandbox Code Playgroud)

在我的主机中我也demo.demo.com指出了localhost

该网站适用于我,demo.demo.com:3000但如何使用数据库和CNAME记录将其推广到生产场景中,并使用用户操作自动添加/更改 CNAME 记录。

subdomain wildcard-subdomain next.js dynamic-routing

7
推荐指数
2
解决办法
9091
查看次数