저는 Trisquel 8(Ubuntu 기반)을 실행하는 데스크탑 컴퓨터에서 Apache 웹 서버를 실행하고 있습니다. 내 로컬 네트워크의 다른 컴퓨터/장치에서 서버에 액세스할 수 있도록 하고 싶지만 어떻게 해야 할지 모르겠습니다.
Apache 서버의 로컬 IP 주소를 사용하여 다른 장치에서 연결하려고 하면 브라우저에 다음과 같은 오류 메시지가 나타납니다. Mac의 Firefox에서는 "연결할 수 없습니다."라는 메시지가 나타납니다. Firefox가 로컬 호스트 서버에 연결할 수 없습니다. '. Android 휴대폰에서 DuckDuckGo 브라우저를 사용하여 연결하려고 하면 "웹 페이지를 사용할 수 없습니다"라는 메시지가 나타납니다. 웹페이지 위치는 다음과 같습니다.http://로컬호스트/net::ERR_CONNECTION_REFUSED' 때문에 로드할 수 없습니다.
nmap
어떤 포트가 열려 있는지 확인하려면 답변 중 하나를 사용하는 것이 좋습니다. 다음 결과가 반환됩니다.
$ nmap [LOCAL IP ADDRESS]
Starting Nmap 7.01 ( https://nmap.org ) at 2019-10-12 09:25 EDT
Nmap scan report for [LOCAL IP ADDRESS]
Host is up (0.00013s latency).
Not shown: 998 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
Nmap done: 1 IP address (1 host up) scanned in 0.09 seconds
따라서 포트 80이 http에 대해 열려 있음을 보여줍니다. 로컬 네트워크의 다른 시스템에서 이 시스템을 ping할 수 있으며 nmap 출력에서 볼 수 있듯이 ssh용으로 다른 포트가 열려 있다는 점도 언급할 가치가 있습니다. 나는 몇 달 동안 SSH를 통해 이 컴퓨터에 연결해 왔고 훌륭하게 작동합니다. 이를 위해 방금 ssh-server를 설치했는데 거의 즉시 작동합니다.
그렇다면 ssh가 문제 없이 작동한다는 점을 고려하면 이는 Apache2 설정(iptables/방화벽과 반대)에 문제가 있음을 의미합니까?
iptable의 내용:
$ sudo iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT tcp -- anywhere anywhere tcp dpt:http ctstate NEW,ESTABLISHED
Chain FORWARD (policy ACCEPT)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
apache2.conf의 내용:
# This is the main Apache server configuration file. It contains the
# configuration directives that give the server its instructions.
# See http://httpd.apache.org/docs/2.4/ for detailed information about
# the directives and /usr/share/doc/apache2/README.Debian about Debian specific
# hints.
#
#
# Summary of how the Apache 2 configuration works in Debian:
# The Apache 2 web server configuration in Debian is quite different to
# upstream's suggested way to configure the web server. This is because Debian's
# default Apache2 installation attempts to make adding and removing modules,
# virtual hosts, and extra configuration directives as flexible as possible, in
# order to make automating the changes and administering the server as easy as
# possible.
# It is split into several files forming the configuration hierarchy outlined
# below, all located in the /etc/apache2/ directory:
#
# /etc/apache2/
# |-- apache2.conf
# | `-- ports.conf
# |-- mods-enabled
# | |-- *.load
# | `-- *.conf
# |-- conf-enabled
# | `-- *.conf
# `-- sites-enabled
# `-- *.conf
#
#
# * apache2.conf is the main configuration file (this file). It puts the pieces
# together by including all remaining configuration files when starting up the
# web server.
#
# * ports.conf is always included from the main configuration file. It is
# supposed to determine listening ports for incoming connections which can be
# customized anytime.
#
# * Configuration files in the mods-enabled/, conf-enabled/ and sites-enabled/
# directories contain particular configuration snippets which manage modules,
# global configuration fragments, or virtual host configurations,
# respectively.
#
# They are activated by symlinking available configuration files from their
# respective *-available/ counterparts. These should be managed by using our
# helpers a2enmod/a2dismod, a2ensite/a2dissite and a2enconf/a2disconf. See
# their respective man pages for detailed information.
#
# * The binary is called apache2. Due to the use of environment variables, in
# the default configuration, apache2 needs to be started/stopped with
# /etc/init.d/apache2 or apache2ctl. Calling /usr/bin/apache2 directly will not
# work with the default configuration.
# Global configuration
#
#
# ServerRoot: The top of the directory tree under which the server's
# configuration, error, and log files are kept.
#
# NOTE! If you intend to place this on an NFS (or otherwise network)
# mounted filesystem then please read the Mutex documentation (available
# at <URL:http://httpd.apache.org/docs/2.4/mod/core.html#mutex>);
# you will save yourself a lot of trouble.
#
# Do NOT add a slash at the end of the directory path.
#
#ServerRoot "/etc/apache2"
#
# The accept serialization lock file MUST BE STORED ON A LOCAL DISK.
#
Mutex file:${APACHE_LOCK_DIR} default
#
# PidFile: The file in which the server should record its process
# identification number when it starts.
# This needs to be set in /etc/apache2/envvars
#
PidFile ${APACHE_PID_FILE}
#
# Timeout: The number of seconds before receives and sends time out.
#
Timeout 300
#
# KeepAlive: Whether or not to allow persistent connections (more than
# one request per connection). Set to "Off" to deactivate.
#
KeepAlive On
#
# MaxKeepAliveRequests: The maximum number of requests to allow
# during a persistent connection. Set to 0 to allow an unlimited amount.
# We recommend you leave this number high, for maximum performance.
#
MaxKeepAliveRequests 100
#
# KeepAliveTimeout: Number of seconds to wait for the next request from the
# same client on the same connection.
#
KeepAliveTimeout 5
# These need to be set in /etc/apache2/envvars
User ${APACHE_RUN_USER}
Group ${APACHE_RUN_GROUP}
#
# HostnameLookups: Log the names of clients or just their IP addresses
# e.g., www.apache.org (on) or 204.62.129.132 (off).
# The default is off because it'd be overall better for the net if people
# had to knowingly turn this feature on, since enabling it means that
# each client request will result in AT LEAST one lookup request to the
# nameserver.
#
HostnameLookups Off
# ErrorLog: The location of the error log file.
# If you do not specify an ErrorLog directive within a <VirtualHost>
# container, error messages relating to that virtual host will be
# logged here. If you *do* define an error logfile for a <VirtualHost>
# container, that host's errors will be logged there and not here.
#
ErrorLog ${APACHE_LOG_DIR}/error.log
#
# LogLevel: Control the severity of messages logged to the error_log.
# Available values: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the log level for particular modules, e.g.
# "LogLevel info ssl:warn"
#
LogLevel warn
# Include module configuration:
IncludeOptional mods-enabled/*.load
IncludeOptional mods-enabled/*.conf
# Include list of ports to listen on
Include ports.conf
# Sets the default security model of the Apache2 HTTPD server. It does
# not allow access to the root filesystem outside of /usr/share and /var/www.
# The former is used by web applications packaged in Debian,
# the latter may be used for local directories served by the web server. If
# your system is serving content from a sub-directory in /srv you must allow
# access here, or in any related virtual host.
<Directory />
Options FollowSymLinks
AllowOverride None
Require all denied
</Directory>
<Directory /usr/share>
AllowOverride None
Require all granted
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride All
# Require local
# Require ip 192.168.1
Require all granted
</Directory>
#<Directory /srv/>
# Options Indexes FollowSymLinks
# AllowOverride None
# Require all granted
#</Directory>
# AccessFileName: The name of the file to look for in each directory
# for additional configuration directives. See also the AllowOverride
# directive.
#
AccessFileName .htaccess
#
# The following lines prevent .htaccess and .htpasswd files from being
# viewed by Web clients.
#
<FilesMatch "^\.ht">
Require all denied
</FilesMatch>
#
# The following directives define some format nicknames for use with
# a CustomLog directive.
#
# These deviate from the Common Log Format definitions in that they use %O
# (the actual bytes sent including headers) instead of %b (the size of the
# requested file), because the latter makes it impossible to detect partial
# requests.
#
# Note that the use of %{X-Forwarded-For}i instead of %h is not recommended.
# Use mod_remoteip instead.
#
LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" vhost_combined
LogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %O" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
# Include of directories ignores editors' and dpkg's backup files,
# see README.Debian for details.
# Include generic snippets of statements
IncludeOptional conf-enabled/*.conf
# Include the virtual host configurations:
IncludeOptional sites-enabled/*.conf
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
Wordpress 인스턴스를 실행하려고 하는데 Apache 서버에 쓸 수 있어야 하기 때문에 AllowOverride All
아래 파일이 필요합니다 ./var/www
내 로컬 컴퓨터의 브라우저에서 "localhost"를 사용하여 웹 콘텐츠에 액세스할 수 있기 때문에 Apache2는 확실히 실행되고 있습니다. 또한 systemctl status apache2
실행 중임을 표시하려면 다음을 수행하십시오.
~$ systemctl status apache2
● apache2.service - LSB: Apache2 web server
Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled)
Drop-In: /lib/systemd/system/apache2.service.d
└─apache2-systemd.conf
Active: active (running) since Thu 2019-10-10 20:01:44 EDT; 5min ago
Docs: man:systemd-sysv-generator(8)
Process: 1562 ExecStart=/etc/init.d/apache2 start (code=exited, status=0/SUCCESS)
CGroup: /system.slice/apache2.service
├─1621 /usr/sbin/apache2 -k start
├─1624 /usr/sbin/apache2 -k start
├─1625 /usr/sbin/apache2 -k start
├─1626 /usr/sbin/apache2 -k start
├─1627 /usr/sbin/apache2 -k start
├─1628 /usr/sbin/apache2 -k start
└─2102 /usr/sbin/apache2 -k start
Oct 10 20:01:42 lee-Desktop systemd[1]: Starting LSB: Apache2 web server...
Oct 10 20:01:42 lee-Desktop apache2[1562]: * Starting Apache httpd web server apache2
Oct 10 20:01:43 lee-Desktop apache2[1562]: AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
Oct 10 20:01:44 lee-Desktop apache2[1562]: *
Oct 10 20:01:44 lee-Desktop systemd[1]: Started LSB: Apache2 web server.
댓글에서 제안한 대로 시도해 보았지만 netstat --inet -a | grep apache2
결과가 반환되지 않았습니다. 분명히 apache2가 실행 중인 경우 포트 80에서 수신 대기해야 하므로 이는 특이한 현상입니다. 나는 실행 netstat -plunt | grep :80
하고 다음과 같은 결과를 얻습니다.
$ sudo netstat -plunt | grep :80
tcp6 0 0 :::80 :::* LISTEN 1557/apache2
이것은 Apache가 듣고 있지만 아무것도 듣지 못한다는 것을 의미합니까?
동일한 요청된 가상 호스트 구성에 관한 한 유일한 파일 /etc/apache2/sites-enabled/
은 000-default.conf이고 해당 내용은 다음과 같습니다.
<VirtualHost *:80>
# The ServerName directive sets the request scheme, hostname and port that
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
#ServerName www.example.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
# For most configuration files from conf-available/, which are
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual host. For example the
# following line enables the CGI configuration for this host only
# after it has been globally disabled with "a2disconf".
#Include conf-available/serve-cgi-bin.conf
</VirtualHost>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
running 도 시도했지만 tail -f /var/log/apache2/*.log
원격 시스템에서 연결을 시도하면 로그에 아무 것도 인쇄되지 않습니다.
그렇다면 연결을 차단하는 문제를 어떻게 해결합니까? 연결이 거부된 이유와 그 이유를 이해하는 데 도움이 될 수 있는 로그가 어디에 있습니까?
나는 Jacob이 그의 답변에서 제안한 것을 시도했지만 불행하게도 문제가 해결되지 않았습니다. 다른 조언이나 안내를 주시면 대단히 감사하겠습니다!
답변1
다음을 사용하여 다른 장치에서 연결하려고 하면로컬 IP 주소아파치 서버
- 서버에서 루트로 실행되는
ip addr
(또는) 명령의 출력을 게시하십시오.ifconfig
- 어느 것인지 표시해주세요.로컬 IP 주소다음에서 연결을 시도하고 있습니다.다른 장치들그 다음에.
- 각 장치의 LAN IP 주소를 표시하십시오.다른 장치들연결할 때 사용합니다.
그 이유는 다음과 같습니다.또한보십시오추신라우터 및 서버 구성과 관련된 기타 믿기 어려운 가능성.
아파치 서버의 로컬 IP를 브라우저에 입력했지만 어떤 이유에서인지 연결을 시도하고 오류가 발생했습니다.
http://localhost/
주소창에 뜹니다.
이거 정말 비릿한 냄새가 난다고 하더군요로컬 IP 주소연결에 사용하는 방법이 매우 잘못되었습니다.
- 또 다른 설명: 요청이 성공적으로 통과되었으나 의미 없는 HTTP 리디렉션이 발생했습니다. 읽기를 건너뛰세요.추신번호 3.
만약에로컬 IP 주소문제는 127.0.0.1
또는 ::1
주소 자체와 매우 유사하며, 이것이 문제의 근본 원인일 수 있습니다. 왜냐하면이것은 "실제" IP 주소가 아닙니다....
IPv4 주소
127.0.0.1
또는 약식 IPv6 주소::1
방법이 기기, 호스트 이름은localhost
항상 해당 주소의 동의어로 로컬로 정의됩니다.서버 자체가 아닌 다른 장치에서 이 주소에 연결하려고 하면 포트 80에 연결하도록 지시하는 것입니다.그 자체(서버 시스템의 포트 80이 아님)
~부터다른 기기HTTP 서버 자체를 실행하지 않으면 연결 시도는 확실히
RST
TCP 실패로 종료됩니다.연결이 거부되었습니다."브라우저에서 오류가 발생했습니다.
해결 방법: 올바른 방법을 사용해야 합니다.LAN IP 주소다른 머신에서 접속할 때: 당연히 안되고 localhost
, 안되고 127.0.0.1
, 안되고 ::1
...
ifconfig
루트로 명령을 실행하십시오.서버에서, 그리고 이름 없는 블록을 찾으세요lo
.IP 주소는 라는 필드가 됩니다inet addr:
.- 서버가 로컬 네트워크에 연결된 경우메탈릭 라인, 사용할 블록의 이름이 지정되고
eth
그 뒤에 숫자가eth0
붙습니다. - 서버가 로컬 네트워크에 연결된 경우무선으로, 사용할 블록의 이름이 지정되고
wlan
그 뒤에 숫자가wlan0
붙습니다. - 당신이 사용하는 블록~ 해야 하다또한
RUNNING
상태(LAN 연결이 활성화되어 있고 사용 가능함을 표시)도 포함됩니다. - 문제의 주소는 다음과 같아야합니다192.168.xx, 10.xxx 또는 172.16.xx~172.31.xx 범위.
- 서버가 로컬 네트워크에 연결된 경우메탈릭 라인, 사용할 블록의 이름이 지정되고
브라우저를 시작해 보세요.서버에서을 누른 다음 1단계에서 찾은 IP 주소를 주소 표시줄에 입력하고 를 누르세요 Enter.
- 페이지가 올바르게 표시되면 다음 단계를 계속하세요.
- 존재하다다른 장치, 동일한 LAN(셀룰러 인터넷이 아님).
- 브라우저 시작다른 장치을 누른 다음 1단계에서 찾은 IP 주소를 입력하고 Go를 누르세요.
- 페이지가 올바르게 표시되어야 합니다.
추신
올바른 IP 주소를 사용하는 경우 다음과 같이 이 문제에 대한 덜 명확한 이유가 있을 수 있습니다.
홈 라우터는 "가상 LAN"으로 구성되거나포트 격리— 이는 각 LAN 포트와 각 무선 LAN 장치를 자체 소규모 네트워크로 격리합니다. 각 장치는 제한되어 있으며서로 연결할 수 없습니다.(그리고 인터넷에 직접 접속하는 것만 허용됩니다.)
- 이 구성에서는 이론적으로 각 가상 LAN 내에서각 장치가 할당됩니다.동일한 IP 주소. 따라서 "서버의 IP 주소"를 다른 장치에 입력하면 "우연히" 결과가 해당 장치의 자체 LAN IP 주소와 동일해 연결되어 있음을 나타냅니다.그 자체HTTP 서버를 실행하지 않으므로 "연결이 거부되었습니다." 실수.
- 이 경우 라우터에서 포트 격리 및 가상 LAN 옵션을 비활성화하십시오.
홈 라우터에는 다음이 포함될 수 있습니다.레이어 3 스위치기능을 수행하고 액세스 제어 목록(예: 방화벽)을 구성하여거부하다개인 LAN IP 주소에 대한 "들어오는 연결",트래픽 소스와 관계없이.
따라서 장치가 서버에 연결을 시도하면 라우터(또는 스위치)가 TCP를 사용하여 가로채고 응답하므로
RST
"연결이 거부되었습니다." 실수.- 이 경우 인터넷/PPPoE에서 발생하는 트래픽에만 적용되도록 라우터의 액세스 제어 목록을 변경하거나 로컬 IP 주소 범위에 대해 적절한 예외를 제공하십시오.
서버에 HTTP 301/302 리디렉션을 생성하는 무언가가 있을 수 있습니다
http://localhost/
.이는 귀하의 이유를 설명할 수 있습니다.다른 장치들localhost
실제 LAN IP 주소를 입력해도 주소창에 표시됩니다.지금 바로,첫 번째 요청이 잘 진행되었습니다.;그러나 서버 또는 서버 측 스크립트에서 발생한 일부 잘못된 구성/오해로 인해 클라이언트가 로 리디렉션되었습니다
http://localhost/
. 이는 답변의 주요 부분에 나열된 이유 때문에 잘못된 주소입니다...최종 결과는 "연결이 거부되었습니다."두 번째 요청에서 오류가 발생했으며
http://localhost/
주소 표시줄에 있습니다.이것을 디버깅하기 위해 브라우저를 사용하지 마십시오, HTTP 301 리디렉션이 캐시되었기 때문입니다. GNU
wget
또는 유사한 도구를 사용하여 요청다른 장치들, 출력을주의 깊게 살펴보십시오. 리디렉션 상태가 '아래에 표시되는 경우연결이 거부되었습니다."오류 - 그렇다면 네트워크 문제가 아니라 서버 문제입니다.이런 일이 발생하면 서버가 리디렉션되는 원인을 찾아 수정해야 합니다.
이 웹 루트를 다른 곳에서 얻은 경우 클라이언트가 비정규 호스트 이름을 사용하여 웹 루트에 액세스하는 것이 발견되면 리디렉션을 유발하는 구성이 포함될 수 있습니다. (이것은 당신이 갈 때처럼 매우 일반적입니다.www.stackexchange.com, 그러면 다음으로 HTTP 301 리디렉션이 생성됩니다.stackexchange.com)
웹 응용 프로그램이 표준 호스트 이름이 공정하다고 생각하면
localhost
실수로 문제가 있는 리디렉션을 생성할 수 있습니다http://localhost/
.이 경우에는 귀하
.htaccess
와 애플리케이션의 구성을 구체적으로 확인한 다음 해당 리디렉션을 비활성화하십시오.
답변2
먼저 httpd가 실행 중인지 확인하세요 sudo systemctl status httpd
. 실수로 중복 규칙을 추가하기 전에 iptables 규칙을 확인해 보겠습니다.iptables -L
들어오는 모든 http를 수락하는지 확인하기 위해 테이블에 ACCEPT를 추가해 보겠습니다.
sudo iptables -A INPUT -p tcp --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
그래도 문제가 해결되지 않으면 에 있는 Apache 설정을 확인하세요 /etc/apache2/apache2.conf
. conf 파일 하단에 기본 보안 모델이 있어야 합니다. 예를 들어, 이것은 내에서 발견되었습니다.
<Directory />
Options FollowSymLinks
AllowOverride None
Require all denied
</Directory>
<Directory /usr/share>
AllowOverride None
Require all granted
</Directory>
<Directory /var/www/>
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
ports.conf에서 모든 장치의 포트 80을 수신하고 있는지 확인하십시오(지금은 설정을 완료할 때까지).Listen *:80
이들 중 어느 것도 문제를 일으키지 않으면 apache2도 실행 중인지 확인하십시오.
답변3
Apache 서버의 로컬 IP 주소를 사용하여 다른 장치에서 연결하려고 하면 브라우저에 다음과 같은 오류 메시지가 나타납니다. Mac의 Firefox에서는 "연결할 수 없습니다."라는 메시지가 나타납니다. Firefox가 서버에 연결할 수 없습니다로컬 호스트.'.안드로이드 휴대폰에서 DuckDuckGo 브라우저를 사용하여 연결하려고 하면 "웹페이지를 사용할 수 없습니다"라는 메시지가 나타납니다. 웹페이지는 http://에 있습니다.로컬 호스트/ net::ERR_CONNECTION_REFUSED' 때문에 로드할 수 없습니다.
당신이 사용하는 경우로컬 호스트자신에게 연결을 시도하는 다른 컴퓨터의 호스트 이름으로... 다른 컴퓨터에서는 서버의 실제 주소를 사용해야 합니다. 그래서
- 서버에서 다음을 수행하십시오.
ip address show
그러면 모든 네트워크 인터페이스와 주소가 나열됩니다(inet
다음과 같은 줄inet 192.168.0.44/24 brd 192.168.0.255 scope global dynamic enp0s31f6
:). 이lo
인터페이스(즉, 주소 127.0.0.1의 인터페이스)를 무시하고enp*
또는 를 사용하십시오wlp*
. 이 주소는 다음으로 시작될 수 있습니다.192.168...
inet
Mac/또는 Android에서 해당 줄의 주소 사용:http://192.168.0.44/
주소를 직접 사용하는 데에는 두 가지 불편한 점이 있습니다.
- 변경될 수 있습니다(일반적으로 컴퓨터보다 주소가 더 많을 때마다 컴퓨터에 동일한 주소가 다시 할당됩니다).
- 이것은 실제로 니모닉이 아닙니다.
Mac에서는 /etc/hosts
서버 이름과 주소(또는 OSX에 있는 이에 상응하는 항목)를 파일에 추가하여 문제 #2를 해결할 수 있습니다. 안드로이드에서는 불가능할 수도 있습니다.
#1의 경우, 운이 좋다면 모든 장치가 NETBIOS 이름 확인을 지원하고 해당 NETBIOS 이름(일반적으로 호스트 이름)을 사용할 수 있습니다.
답변4
나는 한 번 같은 문제를 겪었고 가상 머신을 사용하여 로컬 웹 서버를 설정하고 있다고 생각합니다. 이 작업을 수행하는 경우 웹 서버의 방화벽 구성을 확인하세요.
동일한 컴퓨터에서 Apache 서버에 액세스할 수 있는데 원격 컴퓨터에서 서버에 액세스할 때 오류가 발생하는 경우방화벽에서 아파치 허용웹 서버에서.
아래 언급된 명령을 실행하십시오(CentOS-7에서 작동함).
firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --permanent --zone=public --add-service=https
firewall-cmd --reload
여전히 같은 문제가 발생하면 알려주십시오.