我想要这种情况:
如果用户请求使用此URL:example.com或者www.example.com,用户将index.php在此目录中看到/home/admin1/public_html/
但是当用户请求使用其他子域(通配符)时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) 我需要使用Nginx作为SSL代理,它根据子域将流量转发到不同的后端.
我似乎无处不在,我应该定义多个"服务器{"部分,但这对SSL不起作用.这样做我将始终在第一个虚拟主机中处理SSL,因为在处理https流量之前,服务器名称是未知的.
场景:
需要访问的多个后端如下所示:
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完成这个任务?任何帮助/替代方案,链接,将不胜感激.
我有一个使用谷歌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
有没有办法让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的答案视为已被接受(因为它是一个真正的答案,而不是绕过限制).
我希望能够通过子域 .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) 我开始开发一个基本上充当WordPress MU的网站,用户可以注册并拥有自己的博客.我将在Rails中对此进行编码,但我希望能够使用通配符子域,因此我可以使用blog.example.com等格式.我做了一些搜索,但我找不到任何好的资源.
由于我使用Rails,我不知道在哪里放这个,因为我使用的是Mongrel,而不是Apache.我可以通过在我的服务器上远程开发来绕过在本地计算机上执行此操作,但是我只想将此作为最后的手段.
如果需要,我可以提供有关我的开发环境的更多详细信息,但以下是基础知识:
我不知道怎么说,所以我只是要解释我的理想情景,希望你能向我解释如何实现它......
我正在使用将与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将是我的域名注册问题的解决方案.
我已经设置了一个域名为cookie的cookie .example.com.它适用于我的网站上的每个第一级子域,因为它应该是.
这是没有,不过,可在ñ个级别的子域,即sub.subdomain.example.com并too.many.subdomains.subdomain.example.com没有看到跨子域的cookie,而subdomain.example.com做.有没有解决这个问题?
我如何能实现动态的子域codeigniter与.htaccess?
subdomain .htaccess mod-rewrite wildcard-subdomain codeigniter-2
如何在 NextJS 中实现动态子域路由功能?
abc示例:如果用户在站点中提供用户名,xyz那么他可以访问他的站点abc.xyz.com
另外,如果用户有abc.com域,那么他可以指向abc.com“abc.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 ×5
nginx ×2
.htaccess ×1
apache ×1
certificate ×1
cookies ×1
dns ×1
google-api ×1
https ×1
java ×1
keytool ×1
localhost ×1
macos ×1
mod-rewrite ×1
next.js ×1
oauth-2.0 ×1
proxy ×1
saas ×1
self-signed ×1
ssl ×1
virtualhost ×1
wildcard ×1