标签: multiple-domains

我应该如何在同一系统上组织多个Express服务器?

我正在使用一台服务器来托管多个Node.js网络应用程序,这些应用程序分布在多个域中.我目前的做法是为不同端口上的每个应用程序运行Express服务器,并运行只是将请求路由(重定向)到正确的端口/ Express服务器的基本服务器.这有效,但这意味着我的基本服务器正在路由每个HTTP请求(并通过手动重定向),并且我的用户将我的应用视为托管在[hostname.com]:8000.

经过一些研究,我发现我可以使用http-proxy来满足我的路由需求,但我仍然想知道在同一系统上运行多个Express服务器是否有最佳实践.这是我计划如何做的:

每个Web应用程序都有自己的文件夹,具有完整的Express文件夹结构(app.js,路由,视图等).应用程序将按域分组,因此示例文件夹结构将是:

    hostname.com/
        app.js
        routes/
        views/
        ...
        app1/
            app1.js
            routes/
            views/
            ...
        app2
        ...
    hostname2.com/
        app.js
        routes/
        views/
        ...
Run Code Online (Sandbox Code Playgroud)

我将不得不分别用节点(或永远,我目前正在使用)运行每个app.js ,并且每个都必须在内部使用不同的端口,并且跨应用重定向指向端口目标应用.

那么,这是我目前的计划.有什么问题,我应该避免哪些陷阱?最重要的是,是否有针对此问题的既定解决方案 - 使用Node.js/Express在同一系统上托管多个Web应用程序的问题?

编辑:我计划最终使用WebSockets和HTTPS,我的设置可以支持的带宽量对我来说并不重要 - 这是一个开发服务器(至少现在).感谢David Ellis提出的WebSockets问题.

第二次编辑:感谢EhevuTov和David Ellis的回答,两者都有很大帮助.我仍在为我的应用程序确定一个整体结构,看起来这个问题通过StackOverflow问题得到了详细解决

第三次编辑:自从发布这个问题以来我已经找到了一些方法(尽管我还有很长的路要走).在我的GitHub存储库中查看这个文件,它利用了我从这个问题的答案中学到的东西!

multiple-domains http-proxy vhosts node.js express

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

使用Java在不同域上单一登录[SSO]

我们正在跨多个应用程序实施单点登录[SSO],这些应用程序托管在不同的域和不同的服务器上.

在此输入图像描述

现在如图所示,我们引入了一个Authenticate Server,它实际上与LDAP交互并对用户进行身份验证.将使用/与Authenticate Server通信的应用程序托管在不同的服务器和域中.

对于SSO,我不能使用会话变量,因为有不同的服务器和不同的应用程序,不同的域,域级cookie /会话变量没有帮助.

我正在寻找一个更好的解决方案,可用于跨越他们的SSO.任何已证实的实施都存在?如果是这样,请发布或指出我正确的方向.

java authentication servlets multiple-domains single-sign-on

22
推荐指数
1
解决办法
3万
查看次数

一个站点的多个域:别名还是重定向?

我现在正在设置一些网站,其中许多网站都有多个网站.问题是:我是域名(使用ServerAlias)还是重定向请求?

显然,从可读性或脚本角度来看,ServerAlias更好/更容易.我听说如果一切都重定向到一个域,Google会更喜欢它.这是真的?如果是这样,应该使用什么重定向代码?

常见的vhost示例将包含:

ServerName example.net
ServerAlias www.example.net
Run Code Online (Sandbox Code Playgroud)

这是错的,除了example2.net和www.example2.net之外,www还应该是重定向吗?或者谷歌足够聪明,所有这些网站(或至少www)是同一个网站?

更新:想要别名的部分原因是它们更快.拨号用户的重定向仅仅是因为他们(或没有)使用www会显着增加初始页面加载.

更新和答案:感谢Paul找到Google链接,该链接指示我们"通过延续重复内容处罚的神话来帮助您的网站管理员".但请注意,这仅适用于同一网站上的内容,例如文章"www.example.com/skates.asp?color=black&brand=riedell或www.example.com/skates.asp?brand=riedell&color=黑色".实际上,该文章明确指出"不要创建多个页面,子域或具有大量重复内容的域".

apache seo multiple-domains

20
推荐指数
1
解决办法
3万
查看次数

将多个域重定向到一个域(之前有或没有www)

我有大约18个域需要重定向到一个新域.它必须在有或没有www前置的情况下工作.

我试过这个:

<IfModule mod_rewrite.c>
    RewriteEngine on 
    Rewritecond %{HTTP_HOST} !^www\.domain\.com
    RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]
</IfModule>
Run Code Online (Sandbox Code Playgroud)

这给了我一个重定向循环(以前只能使用www,我想?).

.htaccess redirect multiple-domains http-status-code-301 web

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

443端口中的多个域位于同一IP中

我在IIS 7的端口443(https)中托管了一个网站"www.example1.com".现在我为同一个IP购买了一个新的"www.example2.com"域名.我想在443端口(我已经使用443端口用于"www.example1.com")托管该域(www.example2.com)中的另一个网站.

我怎样才能做到这一点?这是否可以在同一IP的端口443中托管两个域?如果有人可以,请让我知道正确的方法吗?我正在使用IIS 7.

此致,Karthik

https iis-7 multiple-domains

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

如何找到解析为一个IP地址的所有域名?

最近我一直在跟踪craigslist上的垃圾邮件发送者.我最近发现他为他的武器库增加了一项新技术,他注册了一大堆域名,但他们都解析了相同的IP地址.

有没有办法获取IP地址并获取解析到该IP的所有域名列表?

dns multiple-domains

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

对多个域的支持不如宣传的那样有效

10月,Facebook 宣布支持单个应用程序的多个域名.对于其应用程序具有多个域别名的开发人员来说,这是一个好消息 - 无论用户从哪个域查看该页面,都不再需要iframe来解决JavaScript SDK的问题!

不幸的是,它似乎没有像宣传的那样有效.

在博客文章中,他们说:

您的应用程序的URL(网站和/或移动Web URL)必须从"应用程序域"字段中列出的某个域派生.

这是合理的,但开发人员应用程序中的表单似乎是强制执行相反的策略.我有一对域名(例如,abc.com和xyz.com),站点URL设置为(http://abc.com),当我保存时,我收到错误消息:

xyz.com必须来自您的站点URL或您的移动Web URL.

有谁知道这个问题的解决方法?或者这是他们的意图,博客文章的内容是错误的?如果是这样,它似乎很愚蠢,因为很难从单个站点URL派生出多个域.

我对博客文章发表了评论,希望Facebook工程师能够看到它...但同时......

dns facebook multiple-domains

9
推荐指数
2
解决办法
2947
查看次数

使用SQL Server在两个ASP.NET应用程序之间共享会话状态

我正在开发一个网站,该网站要求在同一个域上的cms应用程序和在线商店应用程序之间共享会话,例如.

mydomain.com
Run Code Online (Sandbox Code Playgroud)

store.mydomain.com
Run Code Online (Sandbox Code Playgroud)

我已经取得了一些进展,它适用于我之间的本地构建

localhost/cms
Run Code Online (Sandbox Code Playgroud)

localhost/store
Run Code Online (Sandbox Code Playgroud)

基本上我已经完成了本文的建议

http://blogs.msdn.com/toddca/archive/2007/01/25/sharing-asp-net-session-state-across-applications.aspx

并攻击TempGetAppID存储过程以返回相同的应用程序ID(1).这似乎有效,因为它创建了像'abv5d2urx1asscfwuzw3wp4500000001'这样的ID,这是我所期望的.

我的问题是,当我将它部署到我们的测试环境时,它会在我在两个站点之间导航时创建一个新会话.因此,当我在cms网站上启动会话时,如果我导航到商店,它会创建一个新会话.这些在IIS7中设置为2个不同的网站.

在两个站点的web.config文件中,和元素都相同,如下所示(减去敏感信息)

有没有人知道为什么这可能不起作用?我正在两个站点共享表单身份验证,并且工作正常.任何帮助或想法将不胜感激!

非常感谢

戴夫

c# session-state multiple-domains asp.net-3.5

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

Rails session_store多个域

我有一个非独特的(其他人必须解决这个)问题围绕会话.

方案是我有5个顶级域(domain_a,domain_b,domain_c,domain_d,domain_e),以及每个域下的多个子域.我的应用程序需要在同一顶级域中的子域之间共享会话,例如sub_1.domain_b.com和sub2.domain_b.com可以共享,但sub_3.domain_c.com将是不同的会话.为了使问题更复杂,如果域a和b以及c&d也能够共享会话,那将是理想的.

所以规则:

  • domain_a与domain_b共享会话,并与其中的所有子域共享.很高兴在cookie_store中

  • domain_c与domain_d共享会话,并与其中的所有子域共享.很高兴在cookie_store中

  • domain_e仅在其子域中共享其会话.这需要在active_record_store中

我怎样才能做到这一点?

我尝试使用以下内容创建初始化程序:

MyApp::Application.config.session_store :cookie_store, :key => '_domain_a', :domain => '.domain_a.com'

MyApp::Application.config.session_store :cookie_store, :key => '_domain_b', :domain => '.domain_b.com'

MyApp::Application.config.session_store :cookie_store, :key => '_domain_c', :domain => '.domain_c.com'

MyApp::Application.config.session_store :cookie_store, :key => '_domain_d', :domain => '.domain_d.com'

MyApp::Application.config.session_store :active_record_store, :key => '_domain_e', :domain => '.domain_e.com'
Run Code Online (Sandbox Code Playgroud)

但是我不确定这是否有效.domain_e.com会话工作,这是有意义的,因为它是最后一个声明,任何想法?

subdomain session ruby-on-rails multiple-domains

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

虚拟主机和htaccess重定向过多

我得到的问题是重定向太多.

我有一个WAMP服务器托管一些网站,但我有一个特定的网站有大约5个域名.我希望他们都指向正确的网站文件夹,并将所有内容重定向到单个域以进行搜索引擎优化.以下是虚拟主机文件中的内容:

<VirtualHost 50.62.82.101>
ServerAdmin info@hovaness.com
DocumentRoot "c:/wamp/www/example"
ServerName example.com
ServerAlias example.net www.example.com www.examples.net www.examples.com examples.com examples.net
ErrorLog "logs/example.com.log"
Run Code Online (Sandbox Code Playgroud)

htaccess文件如下所示:

RewriteEngine On
RewriteRule ^(.*)$ http://sellingwarriors.com/$1 [R=301,L]
RewriteBase /
Run Code Online (Sandbox Code Playgroud)

我只应该有一个或另一个吗?我也尝试过htaccess文件:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(.*?).example(s?).(.*)$ [NC]
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]
RewriteBase /
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏

apache .htaccess mod-rewrite multiple-domains

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