Sierra OS로 업그레이드 한 후 로컬 호스트가 연결을 거부 함


8

필자가 다운로드 및 설치 apache, php, phpmyadmin, mysqlMacPorts를 통해. macOS Sierra로 업그레이드하기 전에 모든 것이 제대로 작동했습니다.

localhost에 액세스하려고 할 때마다 업그레이드 후 다음 오류 메시지가 나타납니다. "이 사이트에 연결할 수 없습니다. localhost가 연결을 거부했습니다."

apache http.conf파일의 설정 이 동일하게 유지 되지만이 문제가 발생 합니다.

또한 hosts 파일의 내용을 제공하고 있습니다

127.0.0.1       localhost
255.255.255.255 broadcasthost
::1             localhost

어떤 충고?


모든 서비스가 실제로 실행되고 있는지 확인 했습니까?
samh

"sudo port load apache2"명령을 실행하면 "/opt/local/etc/LaunchDaemons/org.macports.apache2/org.macports.apache2.plist : service already loaded"터미널에서 다음 응답을 얻습니다. 아파치가 실행되고 있다고 확신합니다.
vasilisdmr

/ etc / hosts 파일의 내용을 추가하십시오. 127.0.0.1이 작동합니까? 아마 관련 : apple.stackexchange.com/questions/252466/…
klanomath

모든 것이 정상인지 확인하기 위해 구성 테스트를 실행 했습니까? Apache의 재고 설치와 비슷한 문제가 있었으며 업데이트의 일부가 종속 패키지 중 하나를 손상 시켰습니다.
dr.nixon

구성 테스트를 수행 한 결과는 다음과 같습니다. "httpd : apr_sockaddr_info_get ()가 username-MacBook-Pro.local에 실패했습니다" "httpd : 127.0.0.1을 사용하여 서버의 정규화 된 도메인 이름을 안정적으로 확인할 수 없습니다. 이 메시지를 억제하기위한 ServerName의 지시문. " 그래서 나는이 튜토리얼과 " mdshaonimran.wordpress.com/2011/10/17 / ... "에 따라 오류가 사라졌지 만 localhost를 방문하려고 할 때 거부 메시지가 계속 나타납니다.
vasilisdmr 2016 년

답변:


3

내 에서이 줄을 주석 처리 하여이 문제를 해결했습니다 httpd.conf.

LoadModule unique_id_module modules/mod_unique_id.so

나는 mod_unique_id에 익숙 하지 않지만 로컬 개발 서버에있는 것이 중요하지 않은 것처럼 보입니다 (상황이 다를 수 있음).

unique_id_module

이 모듈은 각 요청마다 매직 토큰을 제공하며, 이는 매우 구체적인 조건에서 "모든"요청에서 고유해야합니다. 고유 식별자는 올바르게 구성된 시스템 클러스터의 여러 시스템에서 고유합니다. 환경 변수 UNIQUE_ID는 각 요청의 식별자로 설정됩니다. 고유 식별자는이 문서의 범위를 벗어난 다양한 이유로 유용합니다.


11

macOS Sierra로 업데이트 한 후 Apache httpd는 이전 버전 httpd.conf으로 이동 httpd.conf.pre-update하여 새 버전을 배치합니다. 로컬 호스트 작업을 수행하려면 다음 절차를 시도하십시오.

cd /etc/apache2/  
sudo mv httpd.conf httpd.conf-afterupdate  
sudo mv httpd.conf.pre-update httpd.conf  
sudo apachectl configtest  
sudo apachectl restart  

그런 다음 테스트하십시오.

curl -I -L localhost

3
sudo apachectl configtest는 나에게 모든 오류를 주었다! 생명의 은인, 감사합니다.
Joshua Kissoon

2
답변 주셔서 감사합니다! 그건 그렇고,이 솔루션을 어떻게 알아 냈습니까? 나는 configtest와 관련하여 아무런 오류도 얻지 못했고 (내 버려야 했는가?) 솔직히 대답을 어디서 찾아야할지 모르겠다.
Rahul Govind

당신은 내 큰 시간을 절약 감사합니다.
Sila Khatun

3

나는 같은 문제가 있었다. 나는 달려 와서 sudo apachectl configtest메시지를 받았다.

AH00526 : /private/etc/apache2/other/default-ssl.conf의 6 행에 구문 오류가 있습니다.

서버 구성에 포함되지 않은 모듈에 의해 철자가 틀리거나 정의 된 잘못된 명령 'SSLEngine'

방금 기본 SSL 구성 파일의 이름을 변경하여 더 이상로드되지 않도록했습니다. 나중에 아파치가 다시 시작되면 모든 것이 돌아 왔습니다.


1

나는 같은 문제가 있었고 httpd.conf에서 mod_proxy_hckeck 주석 처리를 해결했습니다.

LoadModule proxy_hcheck_module libexec / apache2 / mod_proxy_hcheck.so

편집 : apache.org 에서이 모듈에 mod_watchdog이 필요하다는 것을 알았지만이 모듈은 주석 처리되었으므로 mod_proxy_hcheck를 주석 처리하거나 mod_watchdog의 주석 처리를 제거하십시오. LoadModule watchdog_module libexec / apache2 / mod_watchdog.so

그것이 작동하기를 바랍니다!


mod_proxy_hcheck를 주석 처리하면 해결되었습니다. 그 전에 Apache는 자동으로 포트에 바인딩하지 못했습니다.
오토 G

1

나는 같은 문제를 겪고 있었다. 운 좋게도 우연히 문제를 해결할 수있었습니다. 캐리어 퓨전로드 오류 후, 아파치를 통해 문제가 발생하지 않는다는 것을 깨달았습니다. 문제는 메인 / etc / 파일입니다.

호스트 파일 교체

http://cs.us.extensis.com/HostsFile/hosts.zip 에서 기본 Mac OS 호스트 파일을 다운로드 할 수 있습니다 .

hosts 파일을 압축 해제하십시오. 파일 확장자가 없어야합니다. Finder에서 이동> 폴더로 이동하십시오.“폴더로 이동”에 대해“/ etc”를 입력하고 Enter를 누르십시오. 호스트 파일을 etc 폴더로 드래그하십시오. 호스트 폴더 파일을 etc 폴더에 넣으면 다음과 같은 메시지가 나타나면 Mac OS 관리자 사용자 이름과 암호를 입력하십시오.

터미널 응용 프로그램을 열고 다음 명령을 입력하고 Enter를 누르십시오. sudo chmod 644 / etc / hosts Mac OS 암호를 입력하고 Enter를 누르십시오. 터미널에 Mac OS 암호를 입력 할 때 글 머리 기호, 키 아이콘 또는 아무것도 표시되지 않을 수 있습니다 사용중인 Mac OS 버전에서. 이것은 정상입니다.

Mac OS DNS 캐시 지우기

터미널 창에서 다음 명령을 입력하고 Enter를 누르십시오. sudo killall -HUP mDNSResponder Mac 재시동 원인

Suitcase Fusion은 hosts 파일을 사용하여 루프백 주소 (127.0.0.1 또는 localhost)를 사용하여 유형 코어를 찾아 연결합니다. hosts 파일이 없거나 127.0.0.1 항목이 localhost 이외의 이름을 가리키는 경우 위에 표시된 오류 메시지 중 하나가 표시됩니다.

Suitcase Fusion에서 localhost를 127.0.0.1로 해석 할 수 없으면 첫 번째 오류 메시지가 표시됩니다. 유형 코어가 localhost를 127.0.0.1로 해석 할 수 없으면 두 번째 오류 메시지가 표시됩니다.

호스트 파일이 수정 된 경우 새 버전의 Mac OS로 업그레이드 할 때 제거 될 수 있습니다. 타사 응용 프로그램 또는 네트워크 유틸리티가 로컬 호스트 항목을 잘못 변경할 수도 있습니다. 자세한 내용은 터미널을 사용하여 Mac OS X에서 호스트 파일을 편집하는 방법을 참조하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.