Rulez apache2 pe un server Debian 10.
Am o gazdă virtuală pentru unul dintre subdomeniile pe care le am. Am o problemă în care, dacă virtualhost-ul subdomeniului este activat, merg la broadcastre.cc
va arăta conținutul smf.broadcastre.cc
(gazda virtuală).
Acest lucru nu este intenționat și orice ajutor în această problemă ar fi apreciat.
My virtualhost confg
root@server1:~# cat /etc/apache2/sites-available/smf.conf
<VirtualHost *:80>
ServerAdmin <e-mail ascuns>
ServerName smf.broadcastre.cc
ServerAlias www.smf.broadcastre.cc
DocumentRoot /var/www/smf
DirectoryIndex index.php
<Director /var/www/smf>
Opțiuni Indexuri FollowSymLinks MultiViews
AllowOverride All
Comanda permite, refuza
permite de la toti
</Director>
<FilesMatch \.php$>
# Pentru versiunea Apache 2.4.10 și mai sus, utilizați SetHandler pentru a rula PHP ca server de proces fastCGI
SetHandler „proxy:unix:/run/php/php5.6-fpm.sock|fcgi://localhost”
</FilesMatch>
ErrorLog ${APACHE_LOG_DIR}/smf.broadcastre.cc_error.log
CustomLog ${APACHE_LOG_DIR}/smf.broadcastre.cc_access.log combinat
</VirtualHost>
Configurația pentru broadcastre.cc
root@server1:~# cat /etc/apache2/sites-enabled/default-ssl.conf
<IfModule mod_ssl.c>
<VirtualHost _default_:443>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
# Niveluri de jurnal disponibile: trace8, ..., trace1, debug, info, notice, warn,
# eroare, critică, alertă, emerg.
# Este, de asemenea, posibil să configurați nivelul de jurnal pentru un anumit
# module, de ex.
#LogLevel info ssl:warn
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combinat
# Pentru majoritatea fișierelor de configurare din conf-available/, care sunt
# activat sau dezactivat la nivel global, este posibil să
# includeți o linie doar pentru o anumită gazdă virtuală. De exemplu cel
# următoarea linie activează configurația CGI numai pentru această gazdă
# după ce a fost dezactivat global cu „a2disconf”.
#Include conf-available/serve-cgi-bin.conf
# Comutator motor SSL:
# Activați/dezactivați SSL pentru această gazdă virtuală.
SSLEngine activat
# Un certificat autosemnat (snakeoil) poate fi creat prin instalare
# pachetul ssl-cert. Vedea
# /usr/share/doc/apache2/README.Debian.gz pentru mai multe informații.
# Dacă atât cheia, cât și certificatul sunt stocate în același fișier, numai
# Este necesară directiva SSLCertificateFile.
SSLCertificateFile /root/.acme.sh/broadcastre.cc/broadcastre.cc.cer
SSLCertificateKeyFile /root/.acme.sh/broadcastre.cc/broadcastre.cc.key
# Lanț de certificate de server:
# Indicați SSLCertificateChainFile la un fișier care conține
# concatenarea certificatelor CA codificate PEM care formează
# lanț de certificate pentru certificatul de server. Alternativ
# fișierul la care se face referire poate fi același cu SSLCertificateFile
# când certificatele CA sunt atașate direct la server
# certificat pentru convingere.
#SSLCertificateChainFile /etc/apache2/ssl.crt/server-ca.crt
# Autoritate de certificare (CA):
# Setați calea de verificare a certificatului CA unde să găsiți CA
# certificate pentru autentificarea clientului sau, alternativ, unul
# fișier uriaș care le conține pe toate (fișierul trebuie să fie codificat PEM)
# Notă: în SSLCACertificatePath aveți nevoie de legături simbolice hash
# pentru a indica fișierele de certificat. Folosiți cele furnizate
# Makefile pentru a actualiza legăturile simbolice hash după modificări.
#SSLCACertificatePath /etc/ssl/certs/
#SSLCACertificateFile /etc/apache2/ssl.crt/ca-bundle.crt
# Liste de revocare a certificatelor (CRL):
# Setați calea de revocare a CA unde să găsiți CRL-urile CA pentru client
# autentificare sau, alternativ, un fișier uriaș care conține toate
# dintre ele (fișierul trebuie să fie codificat PEM)
# Notă: în interiorul SSLCARevocationPath aveți nevoie de legături simbolice hash
# pentru a indica fișierele de certificat. Folosiți cele furnizate
# Makefile pentru a actualiza legăturile simbolice hash după modificări.
#SSLCARevocationPath /etc/apache2/ssl.crl/
#SSLCARevocationFile /etc/apache2/ssl.crl/ca-bundle.crl
# Autentificare client (tip):
# Tipul și adâncimea verificării certificatului clientului. Tipurile sunt
# none, optional, require and optional_no_ca. Adâncimea este a
# număr care specifică cât de profund trebuie verificat certificatul
# lanțul emitent înainte de a decide că certificatul nu este valid.
#SSLVerifyClient necesită
#SSLVerifyDepth 10
# Opțiuni pentru motor SSL:
# Setați diferite opțiuni pentru motorul SSL.
# o FakeBasicAuth:
# Traduceți clientul X.509 într-o Autorizare de bază. Aceasta înseamnă că
# metodele standard Auth/DBMAuth pot fi folosite pentru controlul accesului. The
# numele de utilizator este versiunea „o singură linie” a certificatului X.509 al clientului.
# Rețineți că nu se obține nicio parolă de la utilizator. Fiecare intrare în utilizator
# fișier are nevoie de această parolă: `xxj31ZMTZzkVA'.
# o ExportCertData:
# Aceasta exportă două variabile de mediu suplimentare: SSL_CLIENT_CERT și
# SSL_SERVER_CERT. Acestea conțin certificatele codificate PEM ale
# server (existent întotdeauna) și clientul (existând doar când client
# este folosită autentificarea). Acesta poate fi folosit pentru a importa certificatele
# în scripturi CGI.
# o StdEnvVars:
# Aceasta exportă variabilele de mediu standard SSL/TLS legate de „SSL_*”.
# În mod implicit, această exportare este dezactivată din motive de performanță,
# deoarece etapa de extracție este o operațiune costisitoare și este de obicei
# inutil pentru difuzarea conținutului static. Deci, de obicei, se activează
# export numai pentru cererile CGI și SSI.
# o OptRenegotiate:
# Acest lucru permite gestionarea optimizată a renegocierii conexiunii SSL atunci când SSL
# directivele sunt folosite în context per-director.
#SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Director /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Director>
# Ajustări protocol SSL:
# Închiderea sigură și implicită, dar totuși conformă cu standardul SSL/TLS
# abordarea este că mod_ssl trimite alerta de notificare de închidere, dar nu așteaptă
# alerta de închidere de la client. Când aveți nevoie de o altă oprire
# abordare puteți utiliza una dintre următoarele variabile:
# o ssl-unclean-shutdown:
# Acest lucru forțează o oprire necurată atunci când conexiunea este închisă, adică nu
# Alerta de notificare de închidere SSL este trimisă sau permisă să fie primită. Acest lucru încalcă
# standardul SSL/TLS, dar este necesar pentru unele browsere în moarte cerebrală. Utilizare
# asta atunci când primiți erori I/O din cauza abordării standard unde
# mod_ssl trimite alerta de notificare de închidere.
# o ssl-accurate-shutdown:
# Acest lucru forțează o oprire precisă atunci când conexiunea este închisă, adică a
# Alerta de închidere SSL este trimisă și mod_ssl așteaptă notificarea de închidere
# alertă a clientului. Acesta este 100% compatibil cu standardul SSL/TLS, dar în
# practica provoacă adesea conexiuni suspendate cu browsere în moarte cerebrală. Utilizare
# asta numai pentru browserele în care știți că implementarea lor SSL
# funcționează corect.
# Notă: Cele mai multe probleme ale clienților rupti sunt legate și de HTTP
# Facilitatea de menținere în viață, așa că, de obicei, doriți să o dezactivați
# păstrați-vă în viață și pentru acești clienți. Utilizați variabila „nokeepalive” pentru aceasta.
# În mod similar, trebuie să forțați unii clienți să folosească HTTP/1.0 pentru a soluționa
# implementarea lor HTTP/1.1 întreruptă. Utilizați variabilele „downgrade-1.0” și
# „force-response-1.0” pentru aceasta.
# BrowserMatch „MSIE [2-6]” \
# nokeepalive ssl-unclean-shutdown \
# downgrade-1.0 forță-răspuns-1.0
<IfModule mod_expires.c>
ExpirăActiv pe
ExpiresByType text/css A31536000
ExpiresByType text/x-component A31536000
ExpiresByType application/x-javascript A31536000
ExpiresByType application/javascript A31536000
ExpiresByType text/javascript A31536000
ExpiresByType text/x-js A31536000
ExpiresByType text/html A3600
ExpiresByType text/richtext A3600
ExpiresByType text/plain A3600
ExpiresByType text/xsd A3600
ExpiresByType text/xsl A3600
ExpiresByType text/xml A3600
ExpiresByType video/asf A31536000
ExpiresByType video/avi A31536000
ExpiresByType imagine/bmp A31536000
ExpiresByType application/java A31536000
ExpiresByType video/divx A31536000
ExpiresByType application/msword A31536000
ExpiresByType imagine/gif A31536000
ExpiresByType application/x-gzip A31536000
Imagine ExpiresByType/pictogramă x A31536000
ExpiresByType imagine/jpeg A31536000
ExpiresByType imagine/webp A31536000
ExpiresByType application/json A31536000
ExpiresByType audio/midi A31536000
ExpiresByType video/quicktime A31536000
ExpiresByType audio/mpeg A31536000
ExpiresByType video/mp4 A31536000
ExpiresByType video/mpeg A31536000
ExpiresByType video/webm A31536000
ExpiresByType application/x-font-otf A31536000
ExpiresByType audio/ogg A31536000
Aplicația ExpiresByType/pdf A31536000
ExpiresByType imagine/png A31536000
ExpiresByType audio/x-realaudio A31536000
ExpiresByType imagine/svg+xml A31536000
Aplicație ExpiresByType/x-shockwave-flash A31536000
ExpiresByType application/x-tar A31536000
ExpiresByType imagine/tiff A31536000
ExpiresByType application/x-font-ttf A31536000
ExpiresByType audio/wav A31536000
ExpiresByType audio/wma A31536000
Aplicația ExpiresByType/font-woff A31536000
ExpiresByType application/font-woff2 A31536000
Aplicația ExpiresByType/zip A31536000
</IfModule>
Alias /mail /usr/share/roundcube
</VirtualHost>
</IfModule>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet
Edit: Deschidere broadcastre.cc
cu portul 443 în loc de 80 remediază acest lucru. Presupun că asta se datorează faptului că ascultă pe 443 și nu pe 80 (mulțumesc slightly_toasted pentru că ai subliniat acest lucru)