Acabei de instalar httpd
e criei um arquivo index.html
estático. Eu tenho firewalld
configurado para permitir acesso à Internet ao serviço https
. Mas quando eu digito https://my.server.ip
em um navegador da web, o navegador dá um erro dizendo que não pode se conectar com o servidor. O que devo alterar para que o navegador receba o arquivo index.html
?
Aqui está a definição firewalld
para a zona pública:
[[email protected]]# firewall-cmd --list-all
public (default, active)
interfaces: enp3s0
sources:
services: https ssh
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
Aqui está o arquivo index.html
junto com sua localização:
[[email protected]]# cd /var/www/html
[[email protected] html]# cat index.html
<html>
<body>
Understand that this is a test. If this text appears in the browser, then https is working.
</body>
</html>
Aqui está a tag VirtualHost
em httpd.conf
:
<VirtualHost server.ip.address:443>
DocumentRoot /var/www/html/
SSLEngine on
SSLProxyEngine on
SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateChainFile /etc/pki/tls/certs/ca-bundle.crt
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
# ProxyPass / http://localhost:8080/
# ProxyPassReverse / http://localhost:8080/
</VirtualHost>
Aqui está um link para o arquivo httpd.conf inteiro.
EDIT # 1
Estou obtendo resultados mistos quando olho para ver qual SSL está instalado no sistema. Por exemplo, nada está escutando em 443. Além disso, enquanto o systemctl não pode encontrar o openssl, o yum parece pensar que o opensl já está instalado. Mas eu confirmei que os arquivos .crt estão todos em seus locais pretendidos.
[root@1my-server-ip-addr ~]# netstat -na | grep 443.*LISTEN
[root@1my-server-ip-addr ~]# systemctl status openssl
openssl.service
Loaded: not-found (Reason: No such file or directory)
Active: inactive (dead)
[root@1my-server-ip-addr ~]# yum install openssl
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.chkhosting.com
* epel: mirror.nexcess.net
* extras: ftpmirror.your.org
* updates: centos.mbni.med.umich.edu
Package 1:openssl-1.0.1e-34.el7_0.6.x86_64 already installed and latest version
Nothing to do
EDIT # 2
Também verifiquei o status de mod_ssl e httpd da seguinte forma:
[root@1my-server-ip-addr certs]# systemctl status mod_ssl.service
mod_ssl.service
Loaded: not-found (Reason: No such file or directory)
Active: inactive (dead)
[root@1my-server-ip-addr certs]# systemctl status httpd
httpd.service - The Apache HTTP Server
Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled)
Active: active (running) since Thu 2014-12-11 18:44:31 EST; 1h 54min ago
Main PID: 4094 (httpd)
Status: "Total requests: 0; Current requests/sec: 0; Current traffic: 0 B/sec"
CGroup: /system.slice/httpd.service
├─4094 /usr/sbin/httpd -DFOREGROUND
├─4095 /usr/sbin/httpd -DFOREGROUND
├─4096 /usr/sbin/httpd -DFOREGROUND
├─4097 /usr/sbin/httpd -DFOREGROUND
├─4098 /usr/sbin/httpd -DFOREGROUND
└─4099 /usr/sbin/httpd -DFOREGROUND
Dec 11 18:44:31 1my-server-ip-addr.static.servdns.com systemd[1]: Started The Apac...
Hint: Some lines were ellipsized, use -l to show in full.
EDIT # 3
Eu também tentei o seguinte, conforme o conselho de prateek61:
[root@1my-server-ip-addr certs]# error_log
-bash: error_log: command not found
[root@1my-server-ip-addr certs]# access_log
-bash: access_log: command not found
[root@1my-server-ip-addr certs]# sestatus
SELinux status: disabled
EDIT # 4
Eu encontrei o seguinte em access_log. Não sei como interpretá-lo porque muitas configurações foram alteradas hoje, e alguns desses logs podem ter sido gerados em diferentes configurações:
[Thu Dec 11 15:37:59.025223 2014] [mpm_prefork:notice] [pid 2627] AH00170: caught SIGWINCH, shutting down gracefully
[Thu Dec 11 16:40:07.114619 2014] [mime:error] [pid 981] (2)No such file or directory: AH01597: could not open mime types config file /etc/httpd/conf/mime.types.
AH00016: Configuration Failed
[Thu Dec 11 16:43:30.051125 2014] [mime:error] [pid 1076] (2)No such file or directory: AH01597: could not open mime types config file /etc/httpd/conf/mime.types.
AH00016: Configuration Failed
[Thu Dec 11 18:44:31.845012 2014] [suexec:notice] [pid 4094] AH01232: suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Thu Dec 11 18:44:31.891627 2014] [auth_digest:notice] [pid 4094] AH01757: generating secret for digest authentication ...
[Thu Dec 11 18:44:31.893061 2014] [lbmethod_heartbeat:notice] [pid 4094] AH02282: No slotmem from mod_heartmonitor
[Thu Dec 11 18:44:31.898347 2014] [mpm_prefork:notice] [pid 4094] AH00163: Apache/2.4.6 (CentOS) configured -- resuming normal operations
[Thu Dec 11 18:44:31.898394 2014] [core:notice] [pid 4094] AH00094: Command line: '/usr/sbin/httpd -D FOREGROUND'
EDIT # 5
Eu corri yum remove mod_ssl httpd
e, em seguida, yum install mod_ssl httpd
. Em seguida, abri meu navegador da web e solicitei https server.ip.addr
e obtive a mesma falha ao conectar a mensagem. No entanto, os seguintes logs foram criados:
access_log
::1 - - [11/Dec/2014:21:47:42 -0500] "OPTIONS * HTTP/1.0" 200 - "-" "Apache/2.4.6 (CentOS) (internal dummy connection)"
::1 - - [11/Dec/2014:21:47:42 -0500] "OPTIONS * HTTP/1.0" 200 - "-" "Apache/2.4.6 (CentOS) (internal dummy connection)"
::1 - - [11/Dec/2014:21:47:42 -0500] "OPTIONS * HTTP/1.0" 200 - "-" "Apache/2.4.6 (CentOS) (internal dummy connection)"
::1 - - [11/Dec/2014:21:47:42 -0500] "OPTIONS * HTTP/1.0" 200 - "-" "Apache/2.4.6 (CentOS) (internal dummy connection)"
::1 - - [11/Dec/2014:21:47:42 -0500] "OPTIONS * HTTP/1.0" 200 - "-" "Apache/2.4.6 (CentOS) (internal dummy connection)"
error_log
[Thu Dec 11 21:47:42.930487 2014] [mpm_prefork:notice] [pid 4094] AH00170: caught SIGWINCH, shutting down gracefully
Não houve alterações em ssl_access_log
, ssl_error_log
ou ssl_request_log
.
Eu não sei se alguns dos novos logs foram criados pelo ato de desinstalação e reinstalação.
Resposta parcial
Três etapas receberam httpd
para veicular a página index.html
quando solicitado por https my.server.ip
:
1.) yum remove mod_ssl httpd
2.) yum install mod_ssl httpd
3.) systemctl restart httpd.service
Mas um exame mais detalhado mostrou que a remoção da diretiva VirtualHost
e a Listen 443
de httpd.conf
desempenharam um papel na obtenção do conteúdo estático a ser exibido. Quando adicionei novamente a diretiva VirtualHost
, um novo erro foi lançado.
Eu preciso da diretiva VirtualHost
porque a meta final é exibir war
arquivos de tomcat
quando uma solicitação https
de um determinado domínio vier de um navegador da Web.
Eu não tentei colocar Listen 443
de volta em httpd.conf
porque uma diretiva Listen
semelhante é fornecida em ssl.conf
.