Créer un nouveau .htaccess

Bonjour,
Voila, je suis encore coincĂ©, j’ai tentĂ© plein de manip que j’ai piochĂ© Ă  droite Ă  gauche.
J’ai un nouveau nom de domaine chez ionos, il est fonctionnel et marche avec le https, c’est au niveau de mon serveur nextcloud que cela ne fonctionne pas.
lorsque je pointe sur mon adresse xxxxxxxxxx.fr en http ca me retourne :

**xx.xx.xxx.xxx** n'autorise pas la connexion.

avec l’IPV4 de mon domicile
et en https ca me retourne ceci :

Ce site ne peut pas fournir de connexion sécurisée

**xxxxxxxxxx.fr** a envoyé une réponse incorrecte.

ERR_SSL_PROTOCOL_ERROR`# 

j’ai tentĂ© de modifier, de refaire le htaccess mais ca ne fonctionne pas.
il ressemble a ca :

<IfModule mod_headers.c>
  <IfModule mod_setenvif.c>
    <IfModule mod_fcgid.c>
       SetEnvIfNoCase ^Authorization$ "(.+)" XAUTHORIZATION=$1
       RequestHeader set XAuthorization %{XAUTHORIZATION}e env=XAUTHORIZATION
    </IfModule>
    <IfModule mod_proxy_fcgi.c>
       SetEnvIfNoCase Authorization "(.+)" HTTP_AUTHORIZATION=$1
    </IfModule>
    <IfModule mod_lsapi.c>
      SetEnvIfNoCase ^Authorization$ "(.+)" XAUTHORIZATION=$1
      RequestHeader set XAuthorization %{XAUTHORIZATION}e env=XAUTHORIZATION
    </IfModule>
  </IfModule>

  <IfModule mod_env.c>
    # Add security and privacy related headers

    # Avoid doubled headers by unsetting headers in "onsuccess" table,
    # then add headers to "always" table: https://github.com/nextcloud/server/pull/19002
    Header onsuccess unset Referrer-Policy
    Header always set Referrer-Policy "no-referrer"

    Header onsuccess unset X-Content-Type-Options
    Header always set X-Content-Type-Options "nosniff"

    Header onsuccess unset X-Frame-Options
    Header always set X-Frame-Options "SAMEORIGIN"

    Header onsuccess unset X-Permitted-Cross-Domain-Policies
    Header always set X-Permitted-Cross-Domain-Policies "none"

    Header onsuccess unset X-Robots-Tag
    Header always set X-Robots-Tag "noindex, nofollow"

    Header onsuccess unset X-XSS-Protection
    Header always set X-XSS-Protection "1; mode=block"

    SetEnv modHeadersAvailable true
  </IfModule>

  # Add cache control for static resources
  <FilesMatch "\.(css|js|mjs|svg|gif|png|jpg|ico|wasm|tflite)$">
    <If "%{QUERY_STRING} =~ /(^|&)v=/">
      Header set Cache-Control "max-age=15778463, immutable"
    </If>
    <Else>
      Header set Cache-Control "max-age=15778463"
    </Else>
  </FilesMatch>

  # Let browsers cache WOFF files for a week
  <FilesMatch "\.woff2?$">
    Header set Cache-Control "max-age=604800"
  </FilesMatch>
</IfModule>

<IfModule mod_php.c>
  php_value mbstring.func_overload 0
  php_value default_charset 'UTF-8'
  php_value output_buffering 0
  <IfModule mod_env.c>
    SetEnv htaccessWorking true
  </IfModule>
</IfModule>

<IfModule mod_mime.c>
  AddType image/svg+xml svg svgz
  AddType application/wasm wasm
  AddEncoding gzip svgz
  # Serve ESM javascript files (.mjs) with correct mime type
  AddType text/javascript js mjs
</IfModule>

<IfModule mod_dir.c>
  DirectoryIndex index.php index.html
</IfModule>

<IfModule pagespeed_module>
  ModPagespeed Off
</IfModule>

<IfModule mod_rewrite.c>
  RewriteEngine on
  RewriteCond %{HTTP_USER_AGENT} DavClnt
  RewriteRule ^$ /remote.php/webdav/ [L,R=302]
  RewriteRule .* - [env=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
  RewriteRule ^\.well-known/carddav /remote.php/dav/ [R=301,L]
  RewriteRule ^\.well-known/caldav /remote.php/dav/ [R=301,L]
  RewriteRule ^remote/(.*) remote.php [QSA,L]
  RewriteRule ^(?:build|tests|config|lib|3rdparty|templates)/.* - [R=404,L]
  RewriteRule ^\.well-known/(?!acme-challenge|pki-validation) /index.php [QSA,L]
  RewriteRule ^ocm-provider/?$ index.php [QSA,L]
  RewriteRule ^(?:\.(?!well-known)|autotest|occ|issue|indie|db_|console).* - [R=404,L]
</IfModule>

# Clients like xDavv5 on Android, or Cyberduck, use chunked requests.
# When FastCGI or FPM is used with apache, requests arrive to Nextcloud without any content.
# This leads to the creation of empty files.
# The following directive will force the problematic requests to be buffered before being forwarded to Nextcloud.
# This way, the "Transfer-Encoding" header is removed, the "Content-Length" header is set, and the request content is proxied ># Here are more information about the issue:
#  - https://docs.cyberduck.io/mountainduck/issues/fastcgi/
#  - https://docs.nextcloud.com/server/latest/admin_manual/issues/general_troubleshooting.html#troubleshooting-webdav
<IfModule setenvif.c>
  <Location "/remote.php">
    SetEnvIf Transfer-Encoding "chunked" proxy-sendcl=1
  </Location>
</IfModule>

AddDefaultCharset utf-8
Options -Indexes
#### DO NOT CHANGE ANYTHING ABOVE THIS LINE ####

ErrorDocument 403 /index.php/error/403
ErrorDocument 404 /index.php/error/404
<IfModule mod_rewrite.c>
  Options -MultiViews
  RewriteRule ^core/js/oc.js$ index.php [PT,E=PATH_INFO:$1]
  RewriteRule ^core/preview.png$ index.php [PT,E=PATH_INFO:$1]
  RewriteCond %{REQUEST_FILENAME} !\.(css|js|mjs|svg|gif|png|html|ttf|woff2?|ico|jpg|jpeg|map|webm|mp4|mp3|ogg|wav|flac|wasm|t>  RewriteCond %{REQUEST_FILENAME} !/core/ajax/update\.php
  RewriteCond %{REQUEST_FILENAME} !/core/img/(favicon\.ico|manifest\.json)$
  RewriteCond %{REQUEST_FILENAME} !/(cron|public|remote|status)\.php
  RewriteCond %{REQUEST_FILENAME} !/ocs/v(1|2)\.php
  RewriteCond %{REQUEST_FILENAME} !/robots\.txt
  RewriteCond %{REQUEST_FILENAME} !/(ocs-provider|updater)/
  RewriteCond %{REQUEST_URI} !^/\.well-known/(acme-challenge|pki-validation)/.*
  RewriteCond %{REQUEST_FILENAME} !/richdocumentscode(_arm64)?/proxy.php$
  RewriteRule . index.php [PT,E=PATH_INFO:$1]
  RewriteBase /
  <IfModule mod_env.c>
    SetEnv front_controller_active true
    <IfModule mod_dir.c>
      DirectorySlash off
    </IfModule>
  </IfModule>
</IfModule>

c’est soit lui soit mes fichiers .conf qui bloque l’accùs au site voici celui sur le port 80 :

<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/nextcloud

        # 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>

et celui en 443 :

<VirtualHost *:443>
        # 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/nextcloud

        # 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

# On active le SSL
SSLEngine On

# On active tous les protocoles (TLS v1.0, TLS v1.1 et TLS v1.2), mais on désactive SSL v2 et v3 (obsolÚtes et remplacés par T>SSLProtocol All -SSLv3 -SSLv2

# On active les méthodes de chiffrement, et on désactive les méthodes de chiffrement non sécurisés (par la présente d'un !)
SSLCipherSuite HIGH:!aNULL:!MD5:!ADH:!RC4:!DH

# On demande au navigateur de sélectionner une méthode de chiffrement en respectant l'ordre envoyée par le serveur (HIGH uniqu>SSLHonorCipherOrder on

# On renseigne le chemin vers le certificat SSL de l'adresse à sécuriser
SSLCertificateFile "/usr/local/share/ca-certificates/linuxtricks/xxxxxxxxxx.fr_ssl_certificate.cer"

# On renseigne le chemin vers la clée privée correspondant au certificat SSL de l'adresse à sécuriser
SSLCertificateKeyFile "/usr/local/share/ca-certificates/linuxtricks/_.xxxxxxxxxx.fr_private_key.key"

# On renseigne le chemin vers le certificat SSL racine, puis vers le(s) certificat(s) SSL intermédiaire(s).
# Si vous disposez de plusieurs certificats intermédiaires, vous pouvez ajouter d'autres directives SSLCACertificateFile.
SSLCACertificateFile "/usr/local/share/ca-certificates/linuxtricks/_.xxxxxxxxxx.fr_ssl_certificate_INTERMEDIATE.cer"

Header always set Strict-Transport-Security "max-age=15768000"


</VirtualHost>

Voila si quelqu’un a des conseils ou idĂ©es je tourne en rond depuis plusieurs jours.
Merci
Yokin

Bonjour,
Pour synthétiser :

je peux me connecter avec IP local en http sans problùme, je peux me conneter en local https mais j’ai un message comme quoi le site n’est pas sur, de la part de mon navigateur.
Si je tape le nom de domaine xxxxxxxxxxx.fr en http j’ai un message me disant que mon IPV4 n’autorise pas la connexion,
Si je tape le nom de domaine xxxxxxxxxx.fr en https j’ai un message me disant :

Ce site ne peut pas fournir de connexion sécurisée

**xxxxxxxxxxx.fr** a envoyé une réponse incorrecte.

ERR_SSL_PROTOCOL_ERROR

Si je tape mon adresse IPV4 en http je me connecter a nextcloud
Si je tape l’adresse IPV4 en https j’ai :

Ce site ne peut pas fournir de connexion sécurisée

**xxxxxxxxxxx.fr** a envoyé une réponse incorrecte.

ERR_SSL_PROTOCOL_ERROR

A quoi cela peut ĂȘtre du, je pense depuis un petit moment Ă  mon .htaccess mais c’est peutĂȘtre une mauvaise piste


Pour completer les informations, si je lance le nom de domaine de mon site sur : SSL Checker celui me dit que mon site est bien en https et que tout est correcte.

@++
fred

Bonjour,
Je cherche toujours une solution, pour remedier Ă  mon problĂšme, ca fait une dizaine de jours et je ne vois pas oĂč est le problĂšme.
J’ai refait mes fichiers .conf, j’ai essayer un fichier avec le strict minimum, mais je n’arrive toujours pas à me connecter à partir de mon nom de domaine, alors que je peux me connecter avec mon adresse IP

Je ne sais plus quoi regarder


Bonjour,
Bon j’avance tout doucement.
Aujourd’hui je suis en train d’installer mes certificats https qui mon Ă©tĂ© donnĂ© par mon nom de domaine ionos.
J’ai rĂ©ussit Ă  les convertir de .cer en .crt Ă  les installer dans le /etc/ssl/certs
mais lorsque j’applique la commande :

openssl s_client -showcerts -servername xxxxxxxxxx.fr -connect xxxxxxxx.fr:443 2>/dev/null

j’ai un message qui me dit ceci

no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 5 bytes and written 323 bytes
Verification: OK
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)

Et quand je pointe sur mon nom de domaine j’ai un retour toujours identique :

Ce site ne peut pas fournir de connexion sécurisée xx.xxx.xxx.xxx a envoyé une réponse incorrecte.
ERR_SSL_PROTOCOL_ERROR

je pense que je n’arrive pas à integrer mon certificat correctement et cela me bloque pour acceder à mon nextcloud depuis mon nom de domaine.

voici Ă  quoi ressemble .conf ssl :

<VirtualHost *:443>
        ServerAdmin webmaster@localhost

        DocumentRoot /var/www/nextcloud

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined


        SSLEngine off

        SSLCertificateFile /etc/ssl/certs/xxxxxxxxxxxx.fr_ssl_certificate.crt
        SSLCertificateKeyFile /etc/ssl/private/_.xxxxxxxxxxx.fr_private_key.key
        SSLCertificateChainFile /etc/ssl/certs/_.xxxxxxxxxxx.fr_ssl_certificate_INTERMEDIATE.crt

#       SSLCertificateFile      /etc/ssl/certs/ssl-cert-snakeoil.pem
#       SSLCertificateKeyFile   /etc/ssl/private/ssl-cert-snakeoil.key


        <FilesMatch "\.(?:cgi|shtml|phtml|php)$">
                SSLOptions +StdEnvVars
        </FilesMatch>
        <Directory /usr/lib/cgi-bin>
                SSLOptions +StdEnvVars
        </Directory>


</VirtualHost>

Est ce correcte au niveau du .conf?
Est ce que j’ai oubliĂ© une Ă©tape pour integrer le certificat de mon apache?

Bonjour @yokin07790, navrĂ© d’intervenir tardivement:
veuiller noté que votre fichier de conf apache doit contenir ceci :

  <Directory /var/www/nextcloud/>
    Require all granted
    AllowOverride All
    Options FollowSymLinks MultiViews

    <IfModule mod_dav.c>
      Dav off
    </IfModule>
  </Directory>

https://docs.nextcloud.com/server/latest/admin_manual/installation/source_installation.html#apache-web-server-configuration

voici un exemple de configuration (avec le chemin de nextcloud par dĂ©faut) sur le port 80 (avant l’ajout de la rediction sur https):

<VirtualHost *:80>
     DocumentRoot /var/www/nextcloud/
     ServerName example.com

     <Directory /var/www/nextcloud/>
        Require all granted
        AllowOverride All
        Options FollowSymLinks MultiViews

        <IfModule mod_dav.c>
           Dav off
        </IfModule>
     </Directory>

     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

en ce qui concerne https, j’utilise let’s encrypt qui founit et configure automtiquement les certificats

Bonjour,
Merci beaucoup de prendre du temps pour me rĂ©pondre, je vais refaire mon .conf, je l’avais simplifier Ă  l’extrĂȘme pour essayer de vois d’ou provenaient mes problĂšmes.

Question concernant les certificats? j’avais utilisĂ©s let’s encrypt lors de la mise en place du serveur, mais j’avais ratĂ© le renouvellement, et comme je prĂ©voyais de prendre un nom de domaine, je me suis dit que cela n’était pas bien grĂąve.
Et chez ce fournisseur de nom de domaine il me proposait un certificat pendant un an, je me suis dit, que c’était interessant.
Mais la configuration est ardue je trouve, et peu d’explication trùs clair (en tout cas suffisamment pour que je comprennes) et donc je patauge pas mal.

Au tout dĂ©part, j’avais compris, qu’il suffisait de copier les fichier dans un repertoire que l’on pouvait nommer, et de les cibler dans le SSL.conf de notre serveur.
Mais cela n’a jamais fonctionnĂ©,
J’ai du les convertir en .crt, puis les copier dans le repertoire /etc/ssl/certs/
de là j’ai lancer la commande :

update-ca-certificates

ce qui a génerer des certificats .pem
j’en suis là actuellement et lorsque je lance ma commande

openssl s_client -showcerts -servername xxxxxxxxxx.fr -connect xxxxxxxx.fr:443 2>/dev/null

j’ai ce message :

no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 5 bytes and written 323 bytes
Verification: OK
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
Early data was not sent
Verify return code: 0 (ok)

qui pour moi signifie que je n’ai pas de certification ssl installĂ©.

Je vais faire les modifs de mes fichiers .conf et je vous tiens au courant.
Merci
Yokin

voici le 80.conf que j’utilise actuellement :slight_smile:

<VirtualHost *:80>
  DocumentRoot /var/www/nextcloud/
  ServerName  xxxxxxxxxxx.fr

  <Directory /var/www/nextcloud/>
    Require all granted
    AllowOverride All
    Options FollowSymLinks MultiViews

    <IfModule mod_dav.c>
      Dav off
    </IfModule>

# SetEnv HOME /var/www/nextcloud
# SetEnv HTTP_HOME /var/www/nextcloud

  </Directory>
</VirtualHost>

si je me trompe pas il lui manque juste la partie pour gerer les logs.
Que je rajoute maintenant.

Edit : je viens de rajouterles deux lignes et cela me génÚre une erreur dans apache


Bonjour,
Vu comment je bloque j’essaye de reinitialiser ma configuration pour repasser par let’s encrypt, ce qui n’est pas gagné 
Avez-vous un tuto a suivre pour installer let’s encrypt sous debian et apache?
Car bien souvent je commence a suivre un tuto et ca n’aboutit pas et je fais que rajouter des choses inutiles

Merci
Yokin

Bonjour,
J’ai rĂ©ussit a reprendre mon serveur en main et Ă  tout rĂ©parer, non sans mal


un des problĂšmes venaient de mon fichier nextcloud_le_ssl.conf, qui avait une ligne en trop qui s’est collĂ© Ă  un moment ou a un autre et proquait une redirection en boucle :

#     Redirect / https://xxxxxxxxxxxx.ovh/

Du coup ma configuration Ă©tait correcte mais comme je ne pouvais jamais acceder Ă  ma page https car elle tournait en boucle sur elle mĂȘme, je pensais que cela venait soit de mes fichiers de configuration, soit des redirections des noms de domaine, etc

En mĂȘme, lorsque je retirais les paquets et les reinstallaientt pour essayer de nettoyer mon joyeux “bazar”, j’ai installĂ© le php8.3 sans en prendre rĂ©ellement conscience et comme tout Ă©tait configurer pour le php8.2, je me suis retrouvĂ© avec plein de dĂ©pendance manquante


Et je passe de nombreux autres petits problÚmes qui ont alimenté ces 3 semaines sur mon serveur


1 Like