[apache2] 80 이외의 포트에서 수신하도록 Apache 구성

나는 centOS 서버를 사용합니다. 포트 8079에서 수신하도록 아파치를 구성하고 싶습니다 httpd.conf. LISTEN 8079 지시문을 .
iptables에서 포트 8079를 열고 iptables를 다시 시작했습니다. 심지어 iptables 서비스를 중단했습니다.

"netstat -nal | grep 8079" shows "tcp  0 0 :::8079 :::* LISTEN"

내가 액세스를 시도하는 경우 http://localhost:8079또는 http://myserver.com:8079그 기계에서, 그 페이지에 액세스 할 수 있습니다. 그러나 다른 컴퓨터에서는 80이 아닌 다른 포트에서 사이트에 액세스 할 수 없습니다. 포트 80에서는 작동합니다. 포트 8079에서는 그렇지 않습니다.

그 밖에 무엇을 구성해야합니까?



답변

에서 /etc/apache2/ports.conf와 같은 포트를 변경

Listen 8079

그런 다음 /etc/apache2/sites-enabled/000-default.conf로 이동하십시오.

그리고 첫 번째 줄을 다음과 같이 변경하십시오.

<VirtualHost *: 8079>

이제 다시 시작

sudo service apache2 restart

Apache는 이제 포트 8079에서 수신 대기하고 / var / www / html로 리디렉션합니다.


답변

텍스트 편집기에서 httpd.conf 파일을 엽니 다. 이 줄을 찾으십시오.

Listen 80

그리고 그것을 바꾸십시오

Listen 8079

변경 후 저장하고 아파치를 다시 시작하십시오.


답변

방화벽 문제였습니다. 거의 모든 포트에 대한 액세스를 차단하는 하드웨어 방화벽이있었습니다. (소프트웨어 방화벽 끄기 / SELinux bla bla는 효과가 없음)

그런 다음 열린 포트를 스캔하고 열린 포트를 사용했습니다.

동일한 문제가 발생하면 다음 명령을 실행하십시오.

sudo nmap -T Aggressive -A -v 127.0.0.1 -p 1-65000

시스템에서 열려있는 모든 포트를 검색합니다. 열려있는 모든 포트는 외부에서 액세스 할 수 있습니다.

참조 . : http://www.go2linux.org/which_service_or_program_is_listening_on_port


답변

80 이외의 Apache Listen 포트가 필요한 경우 우분투 아래에 다음 파일을 추가해야합니다.

“/etc/apache2/ports.conf”

청취 포트 목록

Listen 80
Listen 81
Listen 82

가상 호스트 conf 파일로 이동하여 다음을 정의해야합니다.

<VirtualHost *:80>
  #...v host 1
</VirtualHost>


<VirtualHost *:81>
  #...host 2
</VirtualHost>


<VirtualHost *:82>
  #...host 3
</VirtualHost>


답변

이것은 Centos에서 나를 위해 일하고 있습니다.

첫째 : /etc/httpd/conf/httpd.conf 파일

더하다

Listen 8079

Listen 80

이것은 서버가 포트 8079를 수신 할 때까지

둘째 : 예를 들어 가상 호스트로 이동합니다. /etc/httpd/conf.d/vhost.conf

이 코드를 아래에 추가하십시오.

<VirtualHost *:8079>
   DocumentRoot /var/www/html/api_folder
   ServerName example.com
   ServerAlias www.example.com
   ServerAdmin root@example.com
   ErrorLog logs/www.example.com-error_log
   CustomLog logs/www.example.com-access_log common
</VirtualHost>

이것은 www.example.com:8079리디렉션으로 이동할 때

/ var / www / html / api_folder

하지만 먼저 서비스를 다시 시작해야합니다.

sudo service httpd restart


답변

Windows에서 Apache를 사용하는 경우 :

  1. Win+ R+ services.msc+로 Apache 서비스의 이름을 확인합니다 Enter(ApacheX.Y가 아닌 경우 Apache와 함께 사용중인 소프트웨어의 이름이 있어야합니다. 예 : “wampapache64”).
  2. 관리자 권한으로 명령 프롬프트를 시작합니다 ( Win+ R+ cmd+를 사용하는 Enter것만으로는 충분하지 않습니다).
  3. Apache의 디렉토리로 변경하십시오 cd c:\wamp\bin\apache\apache2.4.9\bin. 예 : ;
  4. 다음을 사용하여 구성 파일이 정상인지 확인 httpd.exe -n "YourServiceName" -t하십시오 . (서비스 이름을 1 단계에서 찾은 이름으로 바꾸십시오.)
  5. 서비스가 중지되었는지 확인하십시오. httpd.exe -k stop -n "YourServiceName"
  6. 시작 : httpd.exe -k start -n "YourServiceName"
  7. 제대로 시작되면 문제는 더 이상 존재하지 않지만 다음과 같은 경우 :

    AH00072 : make_sock : 주소 IP : PORT_NUMBER에 바인딩 할 수 없습니다.

    AH00451 : 사용 가능한 청취 소켓 없음, 종료

    포트 번호가 사용하려는 번호가 아닌 경우 Apache 구성 파일을 열고 (예 : C:\wamp\bin\apache\apache2.4.9\conf\httpd.conf코드 편집기 나 워드 패드로 열지 만 메모장 은 열지 않음 -새 줄을 제대로 읽지 못함) 시작하는 줄의 번호를 바꿉니다. Listen원하는 포트 번호 와 함께 저장하고 6 단계를 반복합니다. 사용하려는 포트 인 경우 계속합니다.

  8. Win+ R+ resmon+로 해당 포트를 사용하는 프로세스의 PID를 확인하고 네트워크 탭을 Enter클릭 한 다음 포트 하위 탭을 클릭합니다 .
  9. 다음으로 죽여라 : taskkill /pid NUMBER /f( /f강제로);
  10. resmon포트가 현재 사용 가능한지 다시 확인하고 6 단계를 반복합니다.

이렇게하면 Apache의 서비스가 제대로 시작되었는지 확인할 수 있습니다. sarul에서 언급 한 가상 호스트 구성 파일 (예 🙂 의 구성 C:\wamp\bin\apache\apache2.4.9\conf\extra\httpd-vhosts.conf은 파일 경로를 설정하고 포트를 변경하는 경우에도 필요합니다. 다시 변경하는 경우 서비스를 다시 시작해야합니다 httpd.exe -k restart -n "YourServiceName"..


답변

FC22 서버의 경우

cd / etc / httpd / conf httpd.conf 편집 [입력]

변경 : Listen 80 to : Listen whatevernumber

파일 저장

systemctl restart httpd.service [enter] 필요한 경우 라우터 / 방화벽에서 아무 번호 나 엽니 다.