CentOS 7은 정적 https 콘텐츠를 제공하지 않습니다. 왜 안 될까요? [폐쇄]

CentOS 7은 정적 https 콘텐츠를 제공하지 않습니다. 왜 안 될까요? [폐쇄]

방금 다시 설치 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 httpdyum 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_logssl_request_log

제거했다가 다시 설치하는 행위로 인해 새로운 로그가 생성되는 경우도 있는지 궁금합니다.


부분 답변

다음을 통해 요청할 때 페이지를 제공하려면 세 가지 단계가 필요합니다 httpd. index.htmlhttps my.server.ip

1.) yum remove mod_ssl httpd  
2.) yum install mod_ssl httpd  
3.) systemctl restart httpd.service  

그러나 자세히 살펴보면 제거 VirtualHost지시문과 Listen 443from이 httpd.conf정적 콘텐츠를 제공하는 역할을 한다는 것을 알 수 있습니다. VirtualHost지시문을 다시 추가 하면 새로운 오류가 발생했습니다.

최종 목표는 웹 브라우저가 특정 도메인에 대한 요청을 받을 때 파일을 VirtualHost제공하는 것이기 때문에 이 지시어가 필요합니다 war.tomcathttps

에 비슷한 지침이 나와 있기 Listen 443때문에 다시 넣으려고 하지 않았습니다 .httpd.confListenssl.conf

답변1

위 예에서는 포트 8080에서 수신 대기하는 프록시를 주석 처리했습니다. (역방향) 프록시가 구성되어 있고 여전히 프런트엔드에서 수신 대기하고 있나요? 이 경우 프런트 엔드 서버에서 SSL을 활성화하고 위의 예와 같이 8080에서 수신 대기하는 주석을 제거해야 합니다.

아직 수신 중인 프런트 엔드 프록시가 없는 경우: 설명한 대로 제거하고 다시 설치할 때 ssl.conf를 다시 구성했는지 확인하십시오. 이렇게 하면 이전에 구성한 값과 인증서 경로도 제거됩니까(어떻게 생성했나요?) )? ).

httpd -thttpd를 다시 시작하고 . 구문 OK로 돌아오면 ping을 실행하여 완전히 괜찮은지 확인하는 것이 좋습니다. 그렇다면 부탁드립니다. SSL.conf를 공유하세요

관련 정보