• Digitaaliset tarvikkeet
  • Palvelin
  • Digitaalinen elämä
  • Tietosuojakäytäntö
  • Ota meihin yhteyttä
  1. Home
  2. Article
  3. verkko - Apache-verkkopalvelinta ei voi käyttää paikalliselta...

verkko - Apache-verkkopalvelinta ei voi käyttää paikalliselta...

Rsdaa 16/11/2021 1648

Käytän Apache-verkkopalvelinta pöytäkoneessa, jossa on Trisquel 8 (Ubuntuun perustuva). Haluaisin asettaa palvelimen muiden paikallisverkon koneiden/laitteiden saataville, mutta en ymmärrä miten.

Kun yritän muodostaa yhteyden toisesta laitteesta käyttämällä Apache-palvelimen paikallista IP-osoitetta, saan virheilmoituksia selaimeen, kuten: Macin Firefoxissa saan ilmoituksen Yhteyttä ei voi muodostaa. Firefox ei voi muodostaa yhteyttä localhost-palvelimeen.'. Jos yritän muodostaa yhteyden DuckDuckGo-selaimella Android-puhelimessa, saan ilmoituksen Verkkosivu ei ole käytettävissä. Verkkosivua osoitteessa http://localhost/ ei voitu ladata, koska: net::ERR_CONNECTION_REFUSED'.

Yksi ​​vastauksista ehdotti nmap-ohjelman käyttöä auki olevien porttien tarkistamiseen, mikä palautti seuraavan tuloksen:

$ nmap [PAIKALLINEN IP-OSOITE]Alkaen Nmap 7.01 ( https://nmap.org ) klo 2019-10-12 09:25 EDTNmap-skannausraportti kohteelle [LOCAL IP ADDRESS]Isäntä on ylhäällä (0,00013 s latenssi).Ei näy: 998 suljetut portit PORT STATE SERVICE22/tcp openssh80/tcp openhttpNmap valmis: 1 IP-osoite (1 isäntä ylös) tarkistettu 0,09 sekunnissa

Joten, se osoittaa, että portti 80 on auki http:lle. On varmaan myös syytä mainita, että voin pingata koneen toisesta paikallisverkosta ja kuten nmap-tulostus osoittaa, minulla on toinen portti auki ssh:lle. Olen käyttänyt tätä konetta useita kuukausia ja se toimii hyvin. Sitä varten asensin juuri ssh-palvelimen ja se toimi melko lailla heti.

Tarkoittaako tämä, että Apache2-asetuksissa on jotain vialla (toisin kuin iptables/palomuurissa), koska ssh toimii ilman ongelmia?

IPtablesin sisältö:

$ sudo iptables -LChain INPUT (käytäntö ACCEPT)kohde prot opt ​​lähdekohde HYVÄKSY tcp - missä tahansa missä tahansa tcp dpt:http ctstate UUSI, PERUSTETUDKetju Eteenpäin (käytäntö ACCEPT) kohde prot opt ​​lähde kohde Ketju OUTPUT (käytäntö prot ACCEPT) kohde opt lähde

Apache2.conf:n sisältö:

# Tämä on Apache-palvelimen pääkonfiguraatiotiedosto. Se sisältää# konfigurointikäskyt, jotka antavat palvelimelle sen ohjeet.# Katso http://httpd.apache.org/docs/2.4/ tarkempia tietoja ohjeista# ja /usr/ share/doc/apache2/README.Debian Debian-spesifistä# vihjeitä.### Yhteenveto siitä, miten Apache 2 -kokoonpano toimii Debianissa:# Apache 2 -verkkopalvelimen kokoonpano Debianissa on melko erilainen kuin# ylävirran ehdottama tapa määrittää verkko palvelin. Tämä johtuu siitä, että Debianin# oletusarvoinen Apache2-asennus yrittää tehdä moduulien,# virtuaalisten isäntien ja ylimääräisten konfigurointikäskyjen lisäämisestä ja poistamisesta mahdollisimman joustavia, jotta muutosten automatisoiminen ja palvelimen hallinta# olisi mahdollisimman helppoa.# Se on jaettu useisiin tiedostoihin, jotka muodostavat alla kuvatun määrityshierarkian#, jotka kaikki sijaitsevat /etc/apache2/-hakemistossa:## /etc/apache2/# |-- apache2.conf# | `--ports.conf# |-- mods-enabled# | |-- *.load# | `-- *.conf# |-- conf-enabled# | `-- *.conf# `-- sites-enabled# `-- *.conf### * apache2.conf on pääasetustiedosto (tämä tiedosto). Se kokoaa osat# yhteen sisällyttämällä kaikki jäljellä olevat asetustiedostot # web-palvelimen käynnistyksen yhteydessä.## * ports.conf sisällytetään aina pääasetustiedostosta. Sen # on tarkoitus määrittää saapuvien yhteyksien kuunteluportit, joita voidaan # mukauttaa milloin tahansa.## * Asetustiedostot mods-enabled/-, conf-enabled/- ja sites-enabled/#-hakemistoissa sisältävät tiettyjä konfiguraatiokatkelmia, jotka hallitsevat moduuleja,# globaalit konfiguraatiofragmentit tai virtuaaliset isäntäkokoonpanot,#.## Ne aktivoidaan symlinkoimalla saatavilla olevat konfiguraatiotiedostot vastaavista # *-available/-vastineistaan. Näitä tulee hallita #-auttajillamme a2enmod/a2dismod, a2ensite/a2dissite ja a2enconf/a2disconf. Katso# heidän vastaavilta man-sivuilta tarkempia tietoja.## * Binaari on nimeltään apache2. Ympäristömuuttujien käytön vuoksi oletuskokoonpanossa apache2 on käynnistettävä/pysäytettävä komennolla # /etc/init.d/apache2 tai apache2ctl. Suora kutsuminen /usr/bin/apache2 ei# toimi oletuskokoonpanon kanssa.# Globaali määritys### ServerRoot: Hakemistopuun yläosa, jonka alla palvelimen# kokoonpano-, virhe- ja lokitiedostot säilytetään.## HUOMAA! Jos aiot sijoittaa tämän NFS- (tai muuten verkkoon)# asennettuun tiedostojärjestelmään, lue Mutex-dokumentaatio (saatavilla# osoitteessa );# säästät monelta vaivalta.## ÄLÄ lisää kauttaviivaa tiedoston loppuun hakemistopolku.##ServerRoot "/etc/apache2"## Hyväksytty serialisoinnin lukitustiedosto TÄYTYY TALLENNA PAIKALLISELLE LEVYLLE.#Mutex-tiedosto:${APACHE_LOCK_DIR} oletus## PidFile: Tiedosto, johon palvelimen tulee tallentaa process# tunnistenumero, kun se käynnistyy.# Tämä on asetettava tiedostoon /etc/apache2/envvars#PidFile ${APACHE_PID_FILE}## Aikakatkaisu: Sekuntimäärä ennen vastaanottoa ja lähetystä aikakatkaisussa.#Timeout 300## KeepAlive: onko tai olla sallimatta pysyviä yhteyksiä (enemmän kuin # yksi pyyntö yhteyttä kohti). Poista käytöstä asettamalla "Off".#KeepAlive On## MaxKeepAliveRequests: Pyyntöjen enimmäismäärä, joka sallitaan# jatkuvan yhteyden aikana. Aseta arvoksi 0 salliaksesi rajoittamattoman määrän.# Suosittelemme, että jätät tämän luvun korkeaksi maksimaalisen suorituskyvyn saavuttamiseksi.#MaxKeepAliveTimeout 5# Nämä on asetettava kohdassa /etc/apache2/envvarsUser ${APACHE_RUN_USER}Ryhmä ${APACHE_RUN_GROUP}## Isäntänimihaut: Kirjaa asiakkaiden nimet tai vain heidän IP-osoitteensa# esim. www.apache.org (päällä) tai 204.62 .129.132 (pois).# Oletus on pois päältä, koska verkon kannalta olisi yleisesti parempi, jos ihmisten# täytyisi tietoisesti ottaa tämä ominaisuus käyttöön, koska sen ottaminen käyttöön tarkoittaa, että# jokainen asiakaspyyntö johtaa vähintään yhteen hakupyyntöön the# nameserver.#HostnameLookups Off# ErrorLog: Virhelokitiedoston sijainti.# Jos et määritä ErrorLog-komentoa # säilössä, tähän virtuaaliseen isäntään liittyvät virheilmoitukset# kirjataan tähän.Jos *teet* määritä virhelokitiedosto # säilölle, että isännän virheet kirjataan sinne eivätkä tänne.#ErrorLog ${APACHE_LOG_DIR}/error.log## LogLevel: Hallitse error_logiin kirjattujen viestien vakavuutta.# Käytettävissä olevat arvot: trace8, ..., trace1, debug, info, notice, warn,# error, crit, alert, emerg.# On myös mahdollista määrittää lokitason tietyille moduuleille, esim.# "LogLevel info ssl:warn"#LogLevel warn# Sisällytä moduulin kokoonpano:IncludeOptional mods-enabled/*.loadIncludeOptional mods-enabled/*.conf# Sisällytä kuunneltavien porttien luettelo onInclude ports.conf# Asettaa Apache2:n HTTPD-palvelimen oletussuojausmallin. Se# ei salli pääsyä juuritiedostojärjestelmään hakemistojen /usr/share ja /var/www ulkopuolella.# Ensiksi mainittua käyttävät Debianiin pakatut verkkosovellukset,# jälkimmäistä voidaan käyttää verkkopalvelimen palvelemiin paikallisiin hakemistoihin. Jos# järjestelmäsi palvelee sisältöä /srv:n alihakemistosta, sinun on sallittava# käyttö täällä tai missä tahansa asiaan liittyvässä virtuaalisessa isännässä.Asetukset FollowSymLinksAllowOverride Ei vaadita kaikkia deniedAllowOverride Ei mitään Vaadi kaikki myönnettyAsetukset Hakemistot SeuraaSymLinksAllowOverride All# Require ip8 local#91Require1 all. grant## Valinnat Hakemistot FollowSymLinks# AllowOverride Ei mitään# Vaadi kaikki grant## AccessFileName: tiedoston nimi, joka etsitään kustakin hakemistosta# lisämääritysohjeita varten.Katso myös AllowOverride#-direktiivi.#AccessFileName .htaccess## Seuraavat rivit estä .htaccess- ja .htpasswd-tiedostoja katsomasta Web-asiakkaita#.#Require all denied## Seuraavat direktiivit määrittävät joitakin muotoisia lempinimiä käytettäviksi# CustomLog-direktiivin kanssa.## Nämä poikkeavat yleisten lokimuotojen määritelmistä, että ne käyttävät %O# (todelliset lähetetyt tavut, mukaan lukien otsikot) %b:n sijaan (pyynnön #-tiedoston koko), koska jälkimmäinen tekee mahdottomaksi havaita osittaisia#-pyyntöjä.## Huomaa, että %{X-Forwarded- For}i %h:n sijasta ei ole suositeltavaa.# Käytä sen sijaan mod_remoteippiä.#LogFormat "%v:%p %h %l %u %t \"%r\" %>s %O \"%{Referer} i\" \"%{User-Agent}i\"" vhost_combinedLogFormat "%h %l %u %t \"%r\" %>s %O \"%{Referer}i\" \"%{ User-Agent}i\"" combinedLogFormat "%h %l %u %t \"%r\" %>s %O" commonLogFormat "%{Referer}i -> %U" refererLogFormat "%{User-agent}i" agent# Hakemistojen sisällyttäminen jättää huomioimatta editorien ja dpkg:n varmuuskopiotiedostot, # katso lisätietoja README.Debianista.# Sisällytä yleiset katkelmat lausekkeistaIncludeOptional conf-enabled/*.conf# Sisällytä virtuaalisen isännän määritykset:Sisällytä valinnaiset sivustot-käytössä/*.

Tarvitsen AllowOverride All -tiedoston hakemistossa /var/www, koska yritän ajaa Wordpressin esiintymää ja sen on voitava kirjoittaa Apache-palvelimelle.

Apache2 on varmasti käynnissä, koska voin käyttää verkkosisältöä paikallisen koneen selaimella käyttämällä 'localhost'ia. Lisäksi systemctl status apache2 osoittaa, että se on käynnissä:

~$ systemctl status apache2● apache2.service - LSB: Apache2-verkkopalvelin Ladattu: ladattu (/etc/init.d/apache2; huono; toimittajan esiasetus: käytössä)Drop-In: /lib/systemd/system/apache2.service. d └─apache2-systemd.conf Aktiivinen: aktiivinen (käynnissä) to 2019-10-10 alkaen 20:01:44 EDT; 5 min sitten Docs: man:systemd-sysv-generator(8)Prosessi: 1562 ExecStart=/etc/init.d/apache2 start (code=exited, status=0/SUCCESS) CGroup: /system.slice/apache2.service ├ ─1621 /usr/sbin/apache2 -k aloitus ├─1624 /usr/sbin/apache2 -k aloitus ├─1625 /usr/sbin/apache2 -k aloitus ├─1626 /usr/sbin/apache2 -7 aloitus 162 -k /usr/sbin/apache2 -k aloitus ├─1628 /usr/sbin/apache2 -k aloitus └─2102 /usr/sbin/apache2 -k start 10. lokakuuta 20:01:42 lee-Desktop systemd[1]: LSB:n aloitus Apache2-verkkopalvelin...10. lokakuuta 20:01:42 lee-Desktop apache2[1562]:* Käynnistetään Apache httpd-verkkopalvelin apache210.10. 20:01:43 lee-Desktop apache2[1562]: AH005:42 Coulla reably detect palvelimen täysin pätevä toimialueen nimi käyttäen 127.0.1.1. Aseta 'ServerName'-direktiivi maailmanlaajuisesti estämään tämä viesti 10.10. 20:01:44 lee-Desktop apache2[1562]:*10.10 20:01:44 lee-Desktop systemd[1]: Aloitettu LSB: Apache2-verkkopalvelin.Kuten kommenteissa ehdotettiin, kokeilin netstat --inet -a | grep apache2, mutta se ei palauttanut mitään. Ilmeisesti tämä on epätavallista, jos apache2 on käynnissä, koska sen pitäisi kuunnella porttia 80. Suoritin netstat -plunt | grep :80 ja sai seuraavan lähdön:

$ sudo netstat -plunt | grep :80tcp6 00 :::80 :::*KUUNTA1557/apache2

Tarkoittaako tämä, että Apache kuuntelee, mutta ei kuule mitään?

Myös pyydettyjen virtualhost-asetusten osalta ainoa tiedosto /etc/apache2/sites-enabled/ on 000-default.conf, jonka sisältö on:

# ServerName-direktiivi asettaa pyyntömallin, isäntänimen ja portin, joita# palvelin käyttää tunnistaessaan itsensä. Tätä käytetään luotaessa # uudelleenohjaus-URL-osoitetta. Virtuaalisten isäntien yhteydessä PalvelimenNimi# määrittää, minkä isäntänimen tulee näkyä pyynnön Host:-otsikossa # vastaamaan tätä virtuaalista isäntää. Virtuaaliselle oletusisännälle (tälle tiedostolle) tämä#-arvo ei ole ratkaiseva, koska sitä käytetään viimeisenä keinona isäntänä siitä huolimatta.# Sinun on kuitenkin asetettava se kaikille muille virtuaalisille isäntäkoneille erikseen.#PalvelimenNimi www.example.comServerAdmin webmaster@localhostDocumentRoot /var/www/html# Käytettävissä olevat lokitasot: trace8, ..., trace1, debug, info, notice, warn,# error, crit, alert, emerg.# On myös mahdollista määrittää lokitaso tietyille# moduuleille, esim. #LogLevel info ssl:warnErrorLog ${APACHE_LOG_DIR}/error.logCustomLog ${APACHE_LOG_DIR}/access.log combined# Useimmille conf-available/-määritystiedostoille, jotka ovat# käytössä tai pois käytöstä globaalilla tasolla, on mahdollista# sisältää rivin vain yhdelle tietylle virtuaaliselle isännälle. Esimerkiksi seuraava # rivi sallii CGI-määritykset tälle isännälle vain# sen jälkeen, kun se on globaalisti poistettu käytöstä "a2disconf".#Include conf-available/serve-cgi-bin.conf# vim: syntax=apache ts=4 sw= 4 sts=4 sr noet

Olen myös yrittänyt suorittaa komentoa tail -f /var/log/apache2/*.log, mutta lokeihin ei tulostu mitään, kun yritän muodostaa yhteyden etäkoneelta.

Miten voin tehdä vianmäärityksen, mikä estää yhteyden? Onko jossain lokia, joka voisi kertoa minulle, miksi yhteys evätään ja mistä syystä?

Yritin Jacobin vastauksessaan antamia ehdotuksia, mutta valitettavasti se ei ratkaissut ongelmaa. Kaikki muut ehdotukset tai ohjeet olisivat erittäin tervetulleita!


PREV: Plex-mediapalvelimen UKK (Usein kysytyt kysymykset)

NEXT: Yleisten Plex Media Server -ongelmien korjaaminen | Windows Central

Popular Articles

Hot Articles
Back to Top