Como executar o VisualSVN Server na porta 443 executando o IIS no mesmo servidor?

7

Server 2008 R2 SP1
VisualSVN Server 2.1.6

O servidor IIS tem cerca de 10 sites. Um deles usa https na porta 443 com as seguintes ligações:

http x.x.x.39:80 site.com
http x.x.x.39:80 www.site.com
https x.x.x.39:443

Propriedades do servidor VisualSVN

server name: svn.SomeSite.com
server port: 443
Server Binding: x.x.x.40

Nenhum site no IIS está escutando x.x.x.40.

Ao iniciar o servidor VisualSVN, os seguintes erros são lançados:

  • make_sock: could not bind to address x.x.x.40:443 (OS 10013) An attempt was made to access a socket in a way forbidden by its access permissions.
  • no listening sockets available, shutting down

Quando eu paro o Site.com no IIS, o VisualSVN Server é iniciado sem problemas. Quando eu ligar o servidor VisualSVN à porta 8443 e iniciar o Site.com, o VisualSVN Server será iniciado sem problemas.

Meu objetivo é acessar o VisualSvn Server com um URL normal, ou seja, um que não use um número de porta no endereço:

https://svn.site.com vs https://svn.site.com:8443

O que precisa ser configurado para permitir que o VisualSVN Server seja executado na porta 443 com o IIS em execução no mesmo servidor?

Editar / Responder

O me apontou na direção certa. Para qualquer outra pessoa que se depara com isso, aqui está um pouco mais de informação.

Mesmo que o IIS não tenha nenhuma ligação definida para o endereço IP que estou usando para o VisualSvn, o IIS ainda levará a refém do endereço IP, a menos que o IIS seja explicitamente informado de quais endereços IP devem ser ouvidos.

Não há GUI no Servidor do Windows 2k8 para configurar os endereços IP para o IIS escutar; Por padrão, o IIS escuta todos os endereços IP atribuídos ao servidor.

O seguinte ajudará a configurar o IIS para escutar apenas os endereços IP desejados:

  1. abre um prompt de comando
  2. insira: netsh
  3. insira: http
  4. insira: show iplisten - > Isso mostrará uma tabela dos endereços IP que o IIS está escutando. Por padrão, a tabela estará vazia (acho que isso significa que o IIS escuta todos os IPs)
  5. Para cada endereço IP que o IIS deve ouvir, insira: add iplisten ipaddress=x.x.x.x
  6. insira: show iplisten - > Agora você deve ver todos os endereços IP adicionados à tabela de audição.
  7. Saia e, em seguida, reinicie o IIS.

Cada um desses comandos também pode ser executado diretamente, ou seja, netsh http show iplisten

Se você precisar excluir um endereço IP da tabela:

  1. abre um prompt de comando
  2. insira: netsh
  3. insira: http
  4. insira: delete iplisten ipaddress=x.x.x.x
  5. Saia e, em seguida, reinicie o IIS.
por Metro Smurf 17.03.2011 / 06:15

2 respostas

4

Já respondemos . Use o seguinte comando:

netsh http add iplisten ipaddress=x.x.x.39
    
por 17.03.2011 / 08:06
1

Dois processos separados não podem se ligar à mesma porta no mesmo endereço.

Algumas opções seriam adicionar um segundo endereço IP ao servidor ou usar um proxy reverso capaz de atender ambos os sites no 443 por meio do mesmo processo.

    
por 17.03.2011 / 06:20