Problemas no Apache ao tentar configurar o SSL (Debian)

1

Estou tentando obter um certificado, chave e cadeia do Let's Encrypt para funcionar.

Mas também fiz algumas coisas que sei que não precisava antes de perceber o que fazer.

A porta 443 não estava aberta, então também tenho feito algumas coisas com o "ports.conf", mas eu mudei isso de volta para o que era, eu acho.

Eu modifiquei o default-ssl.conf e fiz um a2ensite , mas o mywebsite.com.conf normal ainda estava ativo.

Ocorreu um erro no caminho do arquivo para as chaves, então corrigi-lo e tentei reiniciar o apache2 , mas foi aí que os problemas reais começaram.

Eu tentei a2dissite em um e nos dois arquivos conf (normal e SSL), mas não consegui fazer o apache reiniciar.

A única outra coisa foi que eu fiz algo que não precisei gostar de fazer um CSR e adicioná-lo ao arquivo de certificado.

Veja o que estava dizendo:

● apache2.service - LSB: Apache2 web server
Loaded: loaded (/etc/init.d/apache2)
Drop-In: /lib/systemd/system/apache2.service.d
└─forking.conf
Active: failed (Result: exit-code) since Wed 2017-01-18 06:23:59 PST; 3min 31s ago
Process: 31878 ExecStop=/etc/init.d/apache2 stop (code=exited, status=0/SUCCESS)
Process: 31861 ExecReload=/etc/init.d/apache2 reload (code=exited, status=1/FAILURE)
Process: 30542 ExecStart=/etc/init.d/apache2 start (code=exited, status=0/SUCCESS)

Jan 18 06:22:10 archimedes systemd[1]: apache2.service: control process exited, code=exited status=1
Jan 18 06:22:10 archimedes systemd[1]: Reload failed for LSB: Apache2 web server.
Jan 18 06:23:37 archimedes systemd[1]: Reloading LSB: Apache2 web server.
Jan 18 06:23:38 archimedes apache2[31861]: Reloading web server: apache2 failed!
Jan 18 06:23:38 archimedes apache2[31861]: Apache2 is not running ... (warning).
Jan 18 06:23:38 archimedes systemd[1]: apache2.service: control process exited, code=exited status=1
Jan 18 06:23:38 archimedes systemd[1]: Reload failed for LSB: Apache2 web server.
Jan 18 06:23:59 archimedes apache2[31878]: Stopping web server: apache2.
Jan 18 06:23:59 archimedes systemd[1]: Unit apache2.service entered failed state.
 Jan 18 06:27:04 archimedes systemd[1]: Unit apache2.service cannot be reloaded because it is inactive.

Então eu dei uma olhada em outro tópico daqui e alguém mencionou sudo reboot , então eu tentei isso e o putty congelou. Mas quando reabrei o putty consegui reiniciar apache2 e está de volta ao HTTP normal agora.

Alguma idéia do que eu fiz de errado?

Entrar e adicionar o SSL aos sites habilitados novamente é uma boa coisa a fazer? Parece que a porta 443 está aberta agora, o que é uma coisa boa.

EDITAR: apache2.conf ...

Mutex file:${APACHE_LOCK_DIR} default
PidFile ${APACHE_PID_FILE}
Timeout 300
KeepAlive Off
MaxKeepAliveRequests 100
KeepAliveTimeout 5
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}
HostnameLookups Off
ErrorLog ${APACHE_LOG_DIR}/error.log
LogLevel warn
IncludeOptional mods-enabled/*.load
IncludeOptional mods-enabled/*.conf
Include ports.conf
<Directory />
    Options FollowSymLinks
    AllowOverride None
    Require all denied
</Directory>

<Directory /usr/share>
    AllowOverride None
    Require all granted
</Directory>

<Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

e "mywebsite.com.conf" ...

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName mywebsite.com
    ServerAlias www.mywebsite.com
    DocumentRoot /var/www/html

    ErrorLog /var/www/logs/error.log
    CustomLog /var/www/logs/access.log combined

    <Directory /var/www/html/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride all
            Order allow,deny
            allow from all
    </Directory>

</VirtualHost>
    
por sdexp 19.01.2017 / 05:18

1 resposta

2
  1. Certifique-se de permitir as portas 80 e 443 no seu roteador.

  2. Certifique-se de encaminhar as portas 80 e 443 para o seu servidor.

  3. Certifique-se de ter perfurado buracos no seu firewall:

    sudo iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
    sudo iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
    
  4. Defina VirtualHost para a porta 443 (bem como para 80):

    <VirtualHost *:80>
    
    ... your code here ...
    
    </VirtualHost>
    
    <IfModule mod_ssl.c>
    
      <VirtualHost *:443>
    
      ... your code here ...
    
      </VirtualHost>
    
    </IfModule>
    
  5. Ativar mod_rewrite :

    sudo a2enmod rewrite
    
  6. Defina um redirecionamento de HTTP para HTTPS, algo como:

    RewriteCond            %{HTTPS} !on
    RewriteRule            ^/?(.*) https://%{SERVER_NAME}/$1 [R=301]
    
  7. E, finalmente, reinicie o Apache:

    sudo service apache2 restart
    
por 19.01.2017 / 06:20