• Digitaaliset tarvikkeet
  • Palvelin
  • Digitaalinen elämä
  • Tietosuojakäytäntö
  • Ota meihin yhteyttä
  1. Home
  2. Article
  3. apache2 - Apache-virtuaaliisäntien https toimii, mutta http vie...

apache2 - Apache-virtuaaliisäntien https toimii, mutta http vie...

Rsdaa 04/11/2021 1653

Kysyttiin3 vuotta, 11 kuukautta sitten

Näytetty 3 000 kertaa

Käytän amazon linuxia apachen kanssa (Apache/2.4.25 (Amazon)). Minulla on muutama verkkotunnus ja muutama kourallinen aliverkkotunnuksia. Käytän letsencrypt/cerbotia ssl-varmenteille. Tämä toimii. Pääsen https:ään ilman ongelmia. En kuitenkaan voi käyttää muita kuin oletusarvoisia http-virtuaaliisäntiäni. Ne kaikki reitittävät uudelleen oletusarvoiseen virtuaaliseen isäntään. Olen löytänyt vain muutamia muita tällaisia ​​viestejä ilman ratkaisua, ja tätä näyttää olevan vaikea etsiä. Letsencrypt valitti, että tarvitsin erilliset tiedostot virtuaalisille isännille, joten tein sen http:lle ja https:lle. Olen päätynyt siirtämään kaikki http:t httpd.conf-tiedostoon, eikä sekään toimi. Minulla on myös A-tietueita verkkotunnuksilleni ja aliverkkotunnuksilleni. Mitä minulta puuttuu?

###Aloita httpd.conf###ServerRoot "/etc/httpd"Kuuntele 80Sisällytä conf.modules.d/*.confUser nona_yo_bizGroup nona_yo_bizServerAdmin support@example.comAllowOverride ei mitään Vaadi kaikki kielletytSalliAllowOveryp: AllequiinAllowOverri verride AllRequire all myönnetty# Lataa konfiguraatiotiedostot hakemistoon "/etc/httpd/conf.d", jos sellaisia ​​on.# Tähän ssl-tiedostoni tallennetaanIncludeOptional conf.d/*.conf#Jotain muuta moduulipaskaa jne#Joitakin muita AWS-asetuksiaAsetukset FollowSymLinksAllowOverride AllDirectoryIndex index.html index.phpEdellytä kaikki myönnettyServerAdmin-tuki@esimerkki.fiDocumentRoot "/var/www/html/basesite"PalvelimenNimi basesite.comServerAdmin tuki@esimerkki.fiDocumentRoot "/var/www/html/sub1example.com1.ServerName ali"ServerName.com @example.comDocumentRoot "/var/www/html/sub2example"PalvelimenNimi sub2.example.comServerAdmin support@example.comDocumentRoot "/var/www/html/example"Palvelimennimi esimerkki.com###Lopeta httpd.conf#### ##BEGIN ssl.conf###Kuuntele 443 https#Some other stuffDocumentRoot "/var/www/html/basesite"ServerName basesite.com:443ErrorLog logs/ssl_error_logTransferLog logs/ssl_access_logLogTaso kaikki on LPrSSv -LSSvLogtocolSS SSLv3SSLHonorCipherOrder on#Some other stuffCustomLog logs/ssl_request_log "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"ServerAdmin support@example.comSSLCertificateFile /etc/letsencrypt/live/basesite.com/SSlchainfic.pem /letsencrypt/live/basesite.com/privkey.pem###END ssl.conf###Erillinen conf-tiedosto vhostille###ServerAdmin support@example.comDocumentRoot "/var/www/html/sub1example"Palvelimen nimi sub1.example .com:443SSLCertificateFile /etc/letsencrypt/live/basesite.com/fullchain.pemSSLCertificateKeyFile /etc/letsencrypt/live/basesite.com/privkey.pem###Erillinen conf-tiedosto vhostille###ServerRoot"Document. /var/www/html/sub2example"Palvelimen nimi sub2.example.com:443SSLCertificateFile /etc/letsencrypt/live/basesite.com/fullchain.pemSSLCertificateKeyFile /etc/letsencrypt/live/basesite.com/privkey.pem#Separate conf# tiedosto vhost###ServerAdmin support@example.comDocumentRoot "/var/www/html/example"ServerName example.com:443SSLCertificateFile /etc/letsencrypt/live/basesite.com/fullchain.pemSSLCertificateKeyFile/live/letsensecrypt/etc/letsensecrypt .com/privkey.pem

Muokkaa apachectl -S -tulostusta

sudo apachectl -SVirtualHost-kokoonpano:*:443on NameVirtualHost-oletuspalvelimen basesite.com (/etc/httpd/conf.d/ssl.conf:57) portti 443 namevhost basesite.com (/etc/httpd/conf.d/ssl. conf:57) portti 443 namevhost sub1.example.com (/etc/httpd/conf.d/ssl_sub1_exa.conf:1) portti 443 namevhost example.com (/etc/httpd/conf.d/ssl_exa.conf:1) portti 443 namevhost sub2.example.com (/etc/httpd/conf.d/ssl_sub2_exa.conf:1)*:80 on NameVirtualHost-oletuspalvelimen basesite.com (/etc/httpd/conf/httpd.conf:392) portti 80 namevhost basesite.com (/etc/httpd/conf/httpd.conf:392) portti 80 namevhost sub1.example.com (/etc/httpd/conf/httpd.conf:400) alias sub1.example.com:80 portti 80 namevhost example.com (/etc/httpd/conf/httpd.conf:407)ServerRoot: "/etc/httpd"Pääasiakirjanjuuri: "/var/www/html/"Päävirheloki: "/etc/httpd/logs/ error_log"Mutex-oletus: dir="/var/run/httpd/"mekanismi=defaultMutex mpm-accept: using_defaultsMutex cache-socache: using_defaultsMutex authdigest-opaque: using_defaultsMutex watchdog-callback: using_defaults p: using_defaultsMutex ssl-stapling-refresh: using_defaultsMutex authdigest-client: using_defaultsMutex ssl-stapling: using_defaultsMutex-välityspalvelin: using_defaultsMutex authn-socache: using_defaults: using_defaults:" /run/httpd/httpd.pid"Määritä: DUMP_VHOSTSDeritte: DUMP_RUN_CFGUkäyttäjä: name="nona_yo_biz" id=404Ryhmä: name="nona_yo_biz" id=505

kysyi 12. lokakuuta 17 klo 5.34

vdidxhovdidxho

12511 hopeamerkki1111 pronssia

Olen siis ratkaissut ongelman, ja valitettavasti se oli useiden eri asioiden kokeilu. Minulla ei siis ole yksinkertaista vastausta annettavana, mutta voin kertoa joitain asioita, jotka auttoivat minua matkan varrella.

Vasya Zhurykin ansiosta määritin sudo apachectl -S:n avulla, missä/miten virtuaalipalvelimeni todella ladataan. Amazon Linuxin apachen oletusasetuksissa ssl-tiedostot ladataan dynaamisesti tiedostosta conf.d, kun ne päättyvät ".conf". Ne ladataan httpd.conf-päätiedostosta IncludeOptional conf.d/*.conf -tiedoston kautta. Kuten olin aiemmin ymmärtänyt, älä jätä varmuuskopioita conf.d-tiedostoon ".conf":lla tai päädyt ongelmiin. Tätä ei kuitenkaan tapahdu conf-kansiossa. Joten ne on sisällytettävä kohtaan Include /path to file/file.conf. Huomasin, että kun selaat yksityistä Chromea (ctrl+shift+N), muut kuin ssl-sivustot toimivat hyvin. Joten automaattisen täytön lomaketietojen (ja mahdollisesti välimuistissa olevien kuvien ja tiedostojen) tyhjentäminen "aikojen alusta" poisti virheellisen verkkotunnuksen uudelleenohjauksen Chromessa. Se oli erittäin harhaanjohtavaa, koska kirjoittaessani osoitetta oikea verkkotunnus näkyisi, mutta ohjaisi aina väärään. Tämä johtuu todennäköisesti aikaisemmasta huonosti konfiguroidusta virtuaalipalvelimesta.

Taaskin tehtiin ja yritettiin paljon asioita matkan varrella, mutta edellä mainitut olivat joitakin avainkohtia, jotka voivat auttaa muita.

vastasi 17. lokakuuta 17 klo 15:43

vdidxhovdidxho

12511 hopeamerkki1111 pronssia

En näe merkintää NameVirtualHostille *:80, nimipohjaiselle virtualhostille tämä on merkintä, jota tarvitset asetustiedostossasi. Kokeile vain.

vastasi 12. lokakuuta 17 klo 6.08

ShantanuShantanu

1 8991414 hopeamerkkiä1 515 pronssimerkkiä

1

Minulla on 2 ideaa:(katso virtuaalipalvelimet)

1. httpd -S

Ja

2. SSLCertificateKeyFile-tiedostossa on oltava *.key-tunniste

Sinulla ei ole virtuaalisen isäntäjärjestelmän sääntöjen ohjetta (index.php, .htaccess-komento ja muut), voit kokeilla tätä:

ServerAdmin support@example.comDocumentRoot "/var/www/html/basesite"Palvelimen nimi basesite.comAsetukset Indeksit FollowSymLinksAllowOverride AllDirectoryIndex index.php index.htmlEdellytä kaikki myönnetyt

vastasi 12. lokakuuta 17 klo 8.34

Vasyl ZhurykVasyl Zhuryk

1 08777 hopeamerkkiä2 121 pronssimerkkiä

2

Sinun on lisättävä "NS"-tietue verkkotunnuksen hallintapaneeliin.

vastasi 17. lokakuuta 17 klo 15.17

Vasyl ZhurykVasyl Zhuryk

1 08777 hopeamerkkiä2 121 pronssimerkkiä

Stack Overflow toimii parhaiten, kun JavaScript on käytössä

Yksityisyytesi

Napsauttamalla "Hyväksy kaikki evästeet" hyväksyt, että Stack Exchange voi tallentaa evästeitä laitteellesi ja paljastaa tietoja evästekäytäntömme mukaisesti.


PREV: DHCP:n korjaaminen ei ole käytössä Wi-Fi:ssä Windowsissa - Auslogics-blogi

NEXT: Mikä on asiakaspalvelin? Määritelmä ja usein kysytyt kysymykset | OmniSci

Popular Articles

Hot Articles
Back to Top