방금 다시 설치 httpd
하고 정적 index.html
파일을 만들었습니다. firewalld
인터넷을 통해 서비스에 액세스할 수 있도록 구성 했습니다 https
. 그런데 https://my.server.ip
웹 브라우저에 뭔가를 입력하면 브라우저에서 서버에 연결할 수 없다는 오류 메시지가 나타납니다. 브라우저가 파일을 수신하려면 무엇을 변경해야 합니까 index.html
?
firewalld
공통 영역의 정의 는 다음과 같습니다 .
[[email protected]]# firewall-cmd --list-all
public (default, active)
interfaces: enp3s0
sources:
services: https ssh
ports:
masquerade: no
forward-ports:
icmp-blocks:
rich rules:
index.html
파일과 해당 위치는 다음과 같습니다 .
[[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>
이것은 VirtualHost
다음의 태그 입니다 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>
이것은 링크입니다전체 httpd.conf 파일에.
편집 #1
내 시스템에 설치된 SSL을 보면 혼합된 결과가 나타납니다. 예를 들어 443에서는 아무것도 듣지 않습니다. 또한 systemctl은 openssl을 찾을 수 없지만 yum은 opensl이 이미 설치되어 있다고 생각하는 것 같습니다. 하지만 .crt 파일이 예상 위치에 있다는 것을 확인했습니다.
[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
편집 #2
또한 다음과 같이 mod_ssl 및 httpd 상태를 확인했습니다.
[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.
편집 #3
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
편집 #4
access_log에서 다음을 발견했습니다. 오늘 많은 구성이 변경되었으며 이러한 로그 중 일부가 다른 구성에서 생성되었을 수 있으므로 이를 해석하는 방법을 모르겠습니다.
[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'
편집 #5
나는 달렸다 yum remove mod_ssl httpd
가 yum install mod_ssl httpd
. 그런 다음 웹 브라우저를 열고 https server.ip.addr
동일한 연결 실패 메시지를 요청하고 받았습니다. 그러나 다음 로그가 생성됩니다.
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)"
오류 기록
[Thu Dec 11 21:47:42.930487 2014] [mpm_prefork:notice] [pid 4094] AH00170: caught SIGWINCH, shutting down gracefully
아니면 변화가 없습니다 ssl_access_log
.ssl_error_log
ssl_request_log
제거했다가 다시 설치하는 행위로 인해 새로운 로그가 생성되는 경우도 있는지 궁금합니다.
부분 답변
다음을 통해 요청할 때 페이지를 제공하려면 세 가지 단계가 필요합니다 httpd
. index.html
https my.server.ip
1.) yum remove mod_ssl httpd
2.) yum install mod_ssl httpd
3.) systemctl restart httpd.service
그러나 자세히 살펴보면 제거 VirtualHost
지시문과 Listen 443
from이 httpd.conf
정적 콘텐츠를 제공하는 역할을 한다는 것을 알 수 있습니다. VirtualHost
지시문을 다시 추가 하면 새로운 오류가 발생했습니다.
최종 목표는 웹 브라우저가 특정 도메인에 대한 요청을 받을 때 파일을 VirtualHost
제공하는 것이기 때문에 이 지시어가 필요합니다 war
.tomcat
https
에 비슷한 지침이 나와 있기 Listen 443
때문에 다시 넣으려고 하지 않았습니다 .httpd.conf
Listen
ssl.conf
답변1
위 예에서는 포트 8080에서 수신 대기하는 프록시를 주석 처리했습니다. (역방향) 프록시가 구성되어 있고 여전히 프런트엔드에서 수신 대기하고 있나요? 이 경우 프런트 엔드 서버에서 SSL을 활성화하고 위의 예와 같이 8080에서 수신 대기하는 주석을 제거해야 합니다.
아직 수신 중인 프런트 엔드 프록시가 없는 경우: 설명한 대로 제거하고 다시 설치할 때 ssl.conf를 다시 구성했는지 확인하십시오. 이렇게 하면 이전에 구성한 값과 인증서 경로도 제거됩니까(어떻게 생성했나요?) )? ).
httpd -t
httpd를 다시 시작하고 . 구문 OK로 돌아오면 ping을 실행하여 완전히 괜찮은지 확인하는 것이 좋습니다. 그렇다면 부탁드립니다. SSL.conf를 공유하세요