Второе местоположение должно быть:
location ~ \/build {
auth_basic off;
proxy_pass http://hudson/;
}
после тонны одиноких исследований я надеюсь, что этот ответ действительно поможет другим сэкономить время.
не стесняйтесь комментировать, если у вас есть какие-либо вопросы, это некрасиво, и я уверен, что его можно было бы написать лучше, но для одной из задач он работает.
OPTION EXPLICIT
DIM CRLF, TAB, strServer, objWebService, objWebServerTMP, objWebServer, objWebServerRoot, strBindings, domain, domains, domainsMobile, domainsMobileCC, oIIS, oBindingNew, oSite, ArrayOfValues, MobileSiteName
TAB = CHR( 9 )
CRLF = CHR( 13 ) & CHR( 10 )
IF WScript.Arguments.Length = 1 THEN
strServer = WScript.Arguments( 0 )
ELSE
strServer = "localhost"
END IF
SET objWebService = GetObject( "IIS://" & strServer & "/W3SVC" )
EnumWebsites objWebService
SUB EnumWebsites( objWebService )
FOR EACH objWebServer IN objWebService
IF objWebserver.Class = "IIsWebServer" THEN
'**************************************************
IF objWebserver.ServerComment = "SiteName" THEN
'**************************************************
SET objWebServerRoot = GetObject(objWebServer.adspath & "/root")
WScript.Echo _
"Site ID = " & objWebserver.Name & CRLF & _
"Comment = """ & objWebServer.ServerComment & """ " & CRLF & _
"State = " & State2Desc( objWebserver.ServerState ) & CRLF & _
"Path = " & objWebServerRoot.path & CRLF & _
"LogDir = " & objWebServer.LogFileDirectory & _
""
' Enumerate the HTTP bindings (ServerBindings) and
' SSL bindings (SecureBindings)
strBindings = EnumBindings( objWebServer.ServerBindings ) & _
EnumBindings( objWebServer.SecureBindings )
IF NOT strBindings = "" THEN
' Output current bindings
WScript.Echo "IP Address" & TAB & _
"Port" & TAB & _
"Host" & CRLF & _
strBindings
END IF
' Reset Bindings for this domain
objWebserver.Put "ServerBindings", ""
objWebserver.SetInfo
'**************************************************
domainsM="www.test1.com,www.test2.com"
ArrayOfValues = Split(domainsM,",")
'**************************************************
'For i = 0 To Ubound(ArrayOfValues)
' WScript.Echo ArrayOfValues(i)
'NEXT
Dim x
For x = 0 To Ubound(ArrayOfValues)
domain=ArrayOfValues(x)
Set oIIS = GetObject("winmgmts:root\WebAdministration")
Set oBindingNew = oIIS.Get("BindingElement").SpawnInstance_
oBindingNew.BindingInformation = "*:80:" & domain
oBindingNew.Protocol = "http"
'**************************************************
Set oSite = oIIS.Get("Site.Name='SiteName'")
'**************************************************
oSite.Bindings= array(oBindingNew)
oSite.put_
NEXT
END IF
END IF
NEXT
FOR EACH objWebServerTMP IN objWebService
IF objWebServerTMP.Class = "IIsWebServer" THEN
'**************************************************
IF objWebServerTMP.ServerComment = "SiteName" THEN
'**************************************************
' Enumerate the HTTP bindings (ServerBindings) and
' SSL bindings (SecureBindings)
strBindings = EnumBindings( objWebServerTMP.ServerBindings ) & _
EnumBindings( objWebServerTMP.SecureBindings )
IF NOT strBindings = "" THEN
' Output current bindings
WScript.Echo "IP Address" & TAB & _
"Port" & TAB & _
"Host" & CRLF & _
strBindings
END IF
END IF
END IF
NEXT
END SUB
FUNCTION EnumBindings( objBindingList )
DIM i, strIP, strPort, strHost
DIM reBinding, reMatch, reMatches
SET reBinding = NEW RegExp
reBinding.Pattern = "([^:]*):([^:]*):(.*)"
FOR i = LBOUND( objBindingList ) TO UBOUND( objBindingList )
' objBindingList( i ) is a string looking like IP:Port:Host
SET reMatches = reBinding.Execute( objBindingList( i ) )
FOR EACH reMatch IN reMatches
strIP = reMatch.SubMatches( 0 )
strPort = reMatch.SubMatches( 1 )
strHost = reMatch.SubMatches( 2 )
' Do some pretty processing
IF strIP = "" THEN strIP = "All Unassigned"
IF strHost = "" THEN strHost = "*"
IF LEN( strIP ) < 8 THEN strIP = strIP & TAB
EnumBindings = EnumBindings & _
strIP & TAB & _
strPort & TAB & _
strHost & TAB & _
""
NEXT
EnumBindings = EnumBindings & CRLF
NEXT
END FUNCTION
FUNCTION State2Desc( nState )
SELECT CASE nState
CASE 1
State2Desc = "Starting (MD_SERVER_STATE_STARTING)"
CASE 2
State2Desc = "Started (MD_SERVER_STATE_STARTED)"
CASE 3
State2Desc = "Stopping (MD_SERVER_STATE_STOPPING)"
CASE 4
State2Desc = "Stopped (MD_SERVER_STATE_STOPPED)"
CASE 5
State2Desc = "Pausing (MD_SERVER_STATE_PAUSING)"
CASE 6
State2Desc = "Paused (MD_SERVER_STATE_PAUSED)"
CASE 7
State2Desc = "Continuing (MD_SERVER_STATE_CONTINUING)"
CASE ELSE
State2Desc = "Unknown state"
END SELECT
END FUNCTION
IIS8: Цикл, обновляющий привязки, каждый раз будет переопределяться и добавлять только последний в списке предоставленных доменов. Еще одна мысль, которую следует учитывать, IIS требует, чтобы каждая привязка была уникальной. Итак, вместо цикла вы можете просто
objWebserver.Put "ServerBindings", ArrayOfValues
objWebserver.SetInfo
Он добавит все предоставленные заголовки хоста