我的客户提出了一个有趣的请求,并试图找出处理它的最佳方法 - 最好使用脚本。
他们希望我有2个网站正在制作中。第一个是实际的实时网站,第二个是最后一个版本(如果我们需要回滚),将成为下一次升级的目标。升级完成后,他们希望“交换”所有标头信息(主机标头,IP,SSL等),这样我们就可以减少停机时间。
我已经使用以下内容允许多个站点使用443和SSL,并且工作正常:
C:\Inetpub\AdminScripts>cscript.exe adsutil.vbs set /w3svc/1/SecureBindings ":443:www.test.com"
现在,我想弄清楚如何编写网站交换的脚本,其中包括删除然后重新添加SSL映射。
任何和所有的想法都是受欢迎的,因为我个人认为这不是最好的解决方案。 :)
----- NEW ----------------------------------------- ---------
我想我找到了更好的方法。
set PROD1=502916593
set PROD2=1319193536
c:
cd C:\Inetpub\AdminScripts\
cscript.exe adsutil.vbs get W3SVC/%PROD1%/root/path
cscript.exe adsutil.vbs get W3SVC/%PROD2%/root/path
SET CONFIRM=
SET /P CONFIRM=Hit ENTER to make Prod1 active, 2 to make Prod2 active:
IF ?%CONFIRM%? EQU ?? GOTO :P1
:P2
cscript.exe adsutil.vbs set W3SVC/%PROD1%/root/path c:\mywebs\prod2
cscript.exe adsutil.vbs set W3SVC/%PROD2%/root/path c:\mywebs\prod1
GOTO :EOF
:P1
cscript.exe adsutil.vbs set W3SVC/%PROD1%/root/path c:\mywebs\prod1
cscript.exe adsutil.vbs set W3SVC/%PROD2%/root/path c:\mywebs\prod2
:EOF
cscript.exe adsutil.vbs get W3SVC/%PROD1%/root/path
cscript.exe adsutil.vbs get W3SVC/%PROD2%/root/path
有没有人看到这种方法有任何缺点?
答案 0 :(得分:2)
在两台服务器前放置类似负载均衡器的东西不是更好吗?合适的软件可以让用户在会话期间保持旧版本(假设您正在使用会话)。否则,用户必须在进行切换时再次登录。