Sistema: servidor Ubuntu 14.04, Apache 2.4, ownCloud 8.2.5, ambiente de teste Raspbian Jessie em Raspberry Pi 3 b. Erro no navegador da Internet do servidor sobre HTTPS, ao acessar https://192.168.1.107
e https://192.168.1.107
Error performing TLS handshake: An unexpected TLS packet was received.
Depuração
- O comando
telnet 192.168.1.107 80
apenas trava por HTTP, da mesma forma que telnet 192.168.1.107 443
para HTTPS.
- O acesso ao HTTP funciona ao acessar
http://192.168.1.107
e http://192.168.1.107/owncloud
no navegador da Internet, mas não em telnet
como antes
- Registros
/var/log/apache2/error.log
não tem erros recentes. Nenhum erro em /var/log/apache2/access.log
e não /var/log/apache2/other_vhosts_access.log
.
A saída de sudo apache2ctl -M |sort
é
access_compat_module (shared)
alias_module (shared)
auth_basic_module (shared)
authn_core_module (shared)
authn_file_module (shared)
authz_core_module (shared)
authz_host_module (shared)
authz_user_module (shared)
autoindex_module (shared)
core_module (static)
deflate_module (shared)
dir_module (shared)
env_module (shared)
filter_module (shared)
headers_module (shared)
http_module (static)
Loaded Modules:
log_config_module (static)
logio_module (static)
mime_module (shared)
mpm_prefork_module (shared)
negotiation_module (shared)
php5_module (shared)
rewrite_module (shared)
setenvif_module (shared)
socache_shmcb_module (shared)
so_module (static)
ssl_module (shared)
status_module (shared)
unixd_module (static)
version_module (static)
watchdog_module (static)
Minhas configurações devem ser as mesmas que as de John
-
/etc/apache2/sites-available/
: 000-default.conf
e 000-default-ssl.conf
.
-
/etc/apache2/sites-enabled/
: ln -s /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-enabled/000-default.conf
e ln -s /etc/apache2/sites-available/000-default-ssl.conf
.
-
/etc/apache2/conf-available/
: owncloud.conf
-
/etc/apache2/conf-enabled/
: ln -s /etc/apache2/conf-available/owncloud.conf /etc/apache2/conf-enabled/owncloud.conf
e outros links simbólicos.
-
error-ssl.log
e access-ssl.log
costumavam não misturá-los com os logs padrão em sites-available/000-default-ssl.conf
.
Meus certificados e chaves ssl
estão em /etc/ssl/
.
Meu /etc/apache2/sites-enabled/000-default.conf
onde eu segui o tópico aqui
SSLEngine on
SSLCertificateFile /etc/ssl/apache.crt
SSLCertificateKeyFile /etc/ssl/apache.key
onde minha única diferença é que eu não tenho essas linhas SSLCertificateChainFile /etc/ssl/subca.crt; SSLCACertificateFile /etc/ssl/ca.crt
porque eu não deveria ter um ChainFile.
Arquivo /var/www/owncloud/config/config.php
é
<?php
$CONFIG = array (
'instanceid' => 'yours',
'passwordsalt' => 'yours',
'secret' => 'yours',
'trusted_domains' =>
array (
0 => '192.168.1.107',
1 => '192.168.1.1',
2 => 'localhost',
),
'datadirectory' => '/var/www/owncloud/data',
'overwrite.cli.url' => '192.168.1.107/owncloud',
'dbtype' => 'sqlite3',
'version' => '8.2.5.2',
'logtimezone' => 'UTC',
'installed' => true,
'memcache.local' => '\OC\Memcache\APCu',
'theme' => '',
'loglevel' => 2,
'maintenance' => false,
'trashbin_retention_obligation' => 'auto',
'mail_from_address' => 'masimasi',
'mail_smtpmode' => 'sendmail',
'mail_domain' => 'gmail.com',
'mail_smtpauthtype' => 'LOGIN',
'mail_smtphost' => 'smtp.gmail.com',
'mail_smtpport' => '587',
);
/etc/apache2/sites-available/000-default-ssl.conf
é
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerAdmin webmaster@localhost
ServerName localhost
DocumentRoot /var/www/html
ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/access.log combined
SSLEngine on
SSLProtocol all -SSLv2
SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIU
SSLCertificateFile /etc/ssl/apache.crt
SSLCertificateKeyFile /etc/ssl/apache.key
SetEnvIf User-Agent .*MSIE.* nokeepalive ssl-unclean-shutdown
CustomLog /var/log/apache2/ssl_request_log \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
</VirtualHost>
</IfModule>
Permissões / proprietários 644/root:root
devem estar certos sobre o SSL
ls -ls /etc/apache2/ssl/
total 8
4 -rw-r--r-- 1 root root 1484 May 31 15:17 apache.crt
4 -rw-r--r-- 1 root root 1704 May 31 15:17 apache.key
Configurações em sites-x
, onde dois links simbólicos
ls -la /etc/apache2/sites-available/
total 16
drwxr-xr-x 2 root root 4096 May 31 21:52 .
drwxr-xr-x 9 root root 4096 May 31 15:44 ..
-rw-r--r-- 1 root root 183 May 31 19:43 000-default.conf
-rw-r--r-- 1 root root 916 May 31 21:50 000-default-ssl.conf
ls -la /etc/apache2/sites-enabled/
total 8
drwxr-xr-x 2 root root 4096 May 31 19:38 .
drwxr-xr-x 9 root root 4096 May 31 15:44 ..
lrwxrwxrwx 1 root root 45 May 31 19:35 000-default.conf -> /etc/apache2/sites-available/000-default.conf
lrwxrwxrwx 1 root root 35 May 31 11:50 000-default-ssl.conf -> ../sites-available/000-default.conf
Configurações em conf-x
onde 7 links simbólicos
ls -la /etc/apache2/conf-available/
total 40
drwxr-xr-x 2 root root 4096 May 31 20:07 .
drwxr-xr-x 9 root root 4096 May 31 15:44 ..
-rw-r--r-- 1 root root 315 Oct 24 2015 charset.conf
-rw-r--r-- 1 root root 127 Jul 29 2013 javascript-common.conf
-rw-r--r-- 1 root root 3224 Oct 24 2015 localized-error-pages.conf
-rw-r--r-- 1 root root 189 Oct 24 2015 other-vhosts-access-log.conf
-rw-r--r-- 1 root root 410 May 31 19:11 owncloud.conf
-rw-r--r-- 1 root root 655 Feb 19 2015 phppgadmin.conf
-rw-r--r-- 1 root root 2190 Nov 28 2015 security.conf
-rw-r--r-- 1 root root 455 Oct 24 2015 serve-cgi-bin.conf
ls -la /etc/apache2/conf-enabled/
total 8
drwxr-xr-x 2 root root 4096 May 31 13:45 .
drwxr-xr-x 9 root root 4096 May 31 15:44 ..
lrwxrwxrwx 1 root root 30 May 31 11:50 charset.conf -> ../conf-available/charset.conf
lrwxrwxrwx 1 root root 44 May 31 11:50 localized-error-pages.conf -> ../conf-available/localized-error-pages.conf
lrwxrwxrwx 1 root root 46 May 31 11:50 other-vhosts-access-log.conf -> ../conf-available/other-vhosts-access-log.conf
lrwxrwxrwx 1 root root 31 May 31 13:45 owncloud.conf -> ../conf-available/owncloud.conf
lrwxrwxrwx 1 root root 33 May 31 12:03 phppgadmin.conf -> ../conf-available/phppgadmin.conf
lrwxrwxrwx 1 root root 31 May 31 11:50 security.conf -> ../conf-available/security.conf
lrwxrwxrwx 1 root root 36 May 31 11:50 serve-cgi-bin.conf -> ../conf-available/serve-cgi-bin.conf
Hipótese de JohnOrion sobre o problema :
you may try setting youself up on a static ip address and setting up the network properly so you can type localhost into the browser on the server machine and it should go to the site .. if it doesnt .. that could be an issue .. if the ssl is looking for localhost but it cant find it becuase for some reason your network doesnt show localhost pointig to your local ip .. that cold be a cause.
Minha hipótese sobre o problema . Saída do comando curl --head localhost | grep Server
is Server: Apache/2.4.10
onde nada disse que os módulos SSL estão carregados corretamente. Eu acho que isso deve ser feito em alguns casos. Não tenho certeza.
Criando chave SSL / crt
Tópico sobre como fazer as chaves .key e .crt.
the problem isn't that it was an self signed cert, but the common name
have to include the subdomain. i only signed the cert with the common
name domain.com but my owncloud is running in cloud.domain.com
Aqui , no entanto, sobre o localhost, então nome comum deve ser apenas 192.168.1.107
sem um barra final, que agora está correta no meu sistema.
Como você autografa um certificado para o host local?
Eu incluo 192.168.1.107/owncloud
no nome comum, mas não tenho certeza se está certo.
Como você pode usar HTTPS auto-assinado com DHCP no ownCloud?