• Digitální příslušenství
  • Server
  • Digitální život
  • Zásady ochrany osobních údajů
  • Kontaktujte nás
  1. Domov
  2. Článek
  3. apache2 - Virtuální hostitelé Apache https fungují, ale http trvá...

apache2 - Virtuální hostitelé Apache https fungují, ale http trvá...

Rsdaa 04/11/2021 1651

Dotaz před 3 roky, 11 měsíci

Zobrazeno 3 000 krát

Používám amazon linux s apache (Apache/2.4.25 (Amazon)). Mám několik domén a několik subdomén. Pro ssl certifikáty používám letsencrypt/cerbot. Tohle funguje. Mám přístup k https bez problémů. Nemohu však přistupovat k žádnému z mých nestandardních http virtuálních hostitelů. Všechny jsou přesměrovány na výchozí virtuální hostitele. Našel jsem jen několik dalších podobných příspěvků bez rozlišení a zdá se, že je těžké to hledat. Letsencrypt si stěžoval, že potřebuji samostatné soubory pro virtuální hostitele, takže to jsem udělal pro http a https. Nakonec jsem přesunul všechny http do httpd.conf a ani to nefunguje. Mám také záznamy "A" pro své domény a subdomény. co mi chybí?

###Začátek httpd.conf###ServerRoot "/etc/httpd"Poslechnout 80Zahrnout conf.modules.d/*.confUser nona_yo_bizGroup nona_yo_bizServerAdmin support@example.comAllowOverride noneRequired all deniedAllowOverride all# Povolit otevřený přístup:RequireAllow uděleno# Načíst konfigurační soubory do adresáře "/etc/httpd/conf.d", pokud existují.# Zde jsou uloženy mé soubory sslIncludeVolitelné conf.d/*.conf#Nějaké další kecy modulu atd#Některá další nastavení AWSMožnosti FollowSymLinksAllowOverride AllDirectoryIndex index.html index.phpVyžadovat veškerou udělenou podporuServerAdmin@example.comDocumentRoot "/var/www/html/basesite"ServerName basesite.comServerAdmin support@example.comDocumentRoot "/var/www/html/sub1example"ServerName sub1.example.comServerAdmin support @example.comDocumentRoot "/var/www/html/sub2example"ServerName sub2.example.comServerAdmin support@example.comDocumentRoot "/var/www/html/example"ServerName example.com###End httpd.conf#### ##BEGIN ssl.conf###Poslouchejte 443 https#Some other stuffDocumentRoot "/var/www/html/basesite"ServerName basesite.com:443ErrorLog logs/ssl_error_logTransferLog logs/ssl_access_logLogLevel warningSSLEngine all -SSLVi3col all -SSLVi3 pherOrder on#Nějaké jiné stuffCustomLog logs/ssl_request_log "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"ServerAdmin support@example.comSSLCertificateFile /etc/letsencrypt/live/basesite.com/fullchain.pemSSLCetFileificate /letsencrypt/live/basesite.com/privkey.pem###END ssl.conf###Samostatný soubor conf pro vhost###ServerAdmin support@example.comDocumentRoot "/var/www/html/sub1example"ServerName sub1.example .com:443SSLCertificateFile /etc/letsencrypt/live/basesite.com/fullchain.pemSSLCertificateKeyFile /etc/letsencrypt/live/basesite.com/privkey.pem###Samostatný soubor conf pro vhost###ServerAdmin support@example.comDocumentRoot /var/www/html/sub2example"ServerName sub2.example.com:443SSLCertificateFile /etc/letsencrypt/live/basesite.com/fullchain.pemSSLCertificateKeyFile /etc/letsencrypt/live/basesite.com/privkey.pem###Separate soubor pro vhost###ServerAdmin support@example.comDocumentRoot "/var/www/html/example"ServerName example.com:443SSLCertificateFile /etc/letsencrypt/live/basesite.com/fullchain.pemSSLCertificateKeyFile /etc/letsencrypt/live/basesite .com/privkey.pem

Upravit výstup apachectl -S

sudo apachectl - Konfigurace SVirtualHost:*:443je výchozí server NameVirtualHost basesite.com (/etc/httpd/conf.d/ssl.conf:57) port 443 namevhost basesite.com (/etc/httpd/conf.d/ssl. conf:57) port 443 namevhost sub1.example.com (/etc/httpd/conf.d/ssl_sub1_exa.conf:1) port 443 namevhost example.com (/etc/httpd/conf.d/ssl_exa.conf:1) port 443 namevhost sub2.example.com (/etc/httpd/conf.d/ssl_sub2_exa.conf:1)*:80 je výchozí port serveru NameVirtualHost basesite.com (/etc/httpd/conf/httpd.conf:392) 80 namevhost basesite.com (/etc/httpd/conf/httpd.conf:392) port 80 namevhost sub1.example.com (/etc/httpd/conf/httpd.conf:400) alias sub1.example.com:80 port 80 namevhost example.com (/etc/httpd/conf/httpd.conf:407)ServerRoot: "/etc/httpd"Main DocumentRoot: "/var/www/html/"Main ErrorLog: "/etc/httpd/logs/ error_log"Mutex default: dir="/var/run/httpd/" mechanism=defaultMutex mpm-accept: using_defaultsMutex cache-socache: using_defaultsMutex authdigest-opaque: using_defaultsMutex watchdog-callback: using_defaultsMutexsh remix-map proxy_map using_defaultsMutex ssl-stapling-refresh: using_defaultsMutex authdigest-client: using_defaultsMutex ssl-stapling: using_defaultsMutex proxy: using_defaultsMutex authn-socache: using_defaultsMutex: using_defaultsMutex/usedvardPrunsl/http id"Definovat: DUMP_VHOSTSDefinovat: DUMP_RUN_CFGUuživatel: name="nona_yo_biz" id=404Group: name="nona_yo_biz" id=505

zeptal se 12. října 2017 v 5:34

vdidxhovdidxho

12511 stříbrný odznak1111 bronzové odznaky

Takže jsem problém vyřešil a bohužel to byla kombinace několika různých věcí. Nemám tedy jednoduchou odpověď, ale mohu poskytnout některé z věcí, které mi na cestě pomohly.

Díky Vasya Zhuryk jsem použil sudo apachectl -S k určení, kde/jak se skutečně načítají moji virtuální hostitelé. Ve výchozím nastavení Amazon Linux apache se vaše soubory ssl dynamicky načítají z conf.d, když končí na ".conf." Načítají se z hlavního souboru httpd.conf přes IncludeOptional conf.d/*.conf. Jak jsem si již dříve uvědomil, nenechávejte své zálohy v conf.d s ".conf", jinak skončíte s problémy. K tomu však nedochází ve složce conf. Je tedy třeba je zahrnout do položky Include /path to file/file.conf. Zjistil jsem, že při soukromém prohlížení v chromu (ctrl+shift+N) stránky bez protokolu SSL fungovaly dobře. Takže vymazání dat formuláře automatického vyplňování (a možná obrázků a souborů uložených v mezipaměti) od „počátku času“ vymazalo špatné přesměrování domény v prohlížeči Chrome. Bylo to velmi zavádějící, protože při zadávání adresy by se zobrazil správný název domény, ale vždy by se přesměrovalo na nesprávné. Je to pravděpodobně kvůli předchozím špatně nakonfigurovaným virtuálním hostitelům.

Zatím se udělalo a vyzkoušelo mnoho věcí, ale výše uvedené byly některé klíčové body, které mohou pomoci ostatním.

odpověděl 17. října 2017 v 15:43

vdidxhovdidxho

12511 stříbrný odznak1111 bronzové odznaky

Nevidím položku NameVirtualHost *:80, pro virtuální hostitele založeného na názvu je to položka, kterou budete potřebovat v konfiguračním souboru. Prostě to zkus.

odpověděl 12. října 2017 v 6:08

ShantanuShantanu

1 8991414 stříbrných odznaků1515 bronzových odznaků

1

Mám 2 nápad: (viz virtuální hostitelé)

1. httpd -S

A

2. SSLCertificateKeyFile musí mít příponu *.key

Nemáte direktivu virtuálního hostitele pravidel (index.php, povolení .htaccess a další), můžete zkusit toto:

ServerAdmin support@example.comDocumentRoot "/var/www/html/basesite"ServerName basesite.comMožnosti Indexy FollowSymLinksAllowOverride AllDirectoryIndex index.php index.htmlVyžadovat udělení všech

odpověděl 12. října 2017 v 8:34

Vasyl ZhurykVasyl Zhuryk

1 08777 stříbrných odznaků2121 bronzových odznaků

2

Musíte přidat záznam „NS“ do panelu administrátora domény.

odpověděl 17. října '17 v 15:17

Vasyl ZhurykVasyl Zhuryk

1 08777 stříbrných odznaků2121 bronzových odznaků

Přetečení zásobníku funguje nejlépe, když je povolen JavaScript

Vaše soukromí

Kliknutím na „Přijmout všechny soubory cookie“ souhlasíte s tím, že Stack Exchange může ukládat soubory cookie do vašeho zařízení a zveřejňovat informace v souladu s našimi zásadami používání souborů cookie.


PREV: Oprava DHCP není povolena pro Wi-Fi ve Windows – blog Auslogics

NEXT: Co je klient-server? Definice a často kladené otázky | OmniSci

Populární články

Žhavé články
Zpět na začátek