Фикс ошибки Forbidden 403

Добрый день предлагаю следующее решение даной проблемы просто сделать алиас

Исправляем проверку сайтов Let’s Encrypt

Создаем директории

mkdir /var/www/.well-known; mkdir /var/www/.well-known/acme-challenge; chown -R :www-data /var/www/.well-known/acme-challenge; chmod -R 775 /var/www/.well-known/acme-challenge

Задаем алиас для Let’s Encrypt

nano /etc/apache2/conf-enabled/letsencrypt.conf

Вставляем содержимое

Alias /.well-known/acme-challenge /var/www/.well-known/acme-challenge

<Directory “/var/www/.well-known/acme-challenge”>
Options -Indexes
AllowOverride All
Order allow,deny
allow from all
DirectoryIndex index.php

Перезапускаем Apache2

sudo service apache2 restart

Создаем файл .htaccess

nano /var/www/.well-known/acme-challenge/.htaccess

Вставляем содержимое

Options +SymLinksIfOwnerMatch
Options -Indexes
RewriteEngine On
RewriteRule ^(.*)$ index.php?code=$1 [L,QSA]

Создаем файл для отображения проверочного кода

nano /var/www/.well-known/acme-challenge/index.php

Вставляем содержимое

<?php header("HTTP/1.0 200 OK"); if(isset($_GET['code'])) echo trim($_GET['code'], '/'); ?>

Запускаем процедуру генерации SSL и радуемся отсутствию ошибки

sudo certbot --apache

@leader, is it possible that you could help somehow with this because you speak Russian?

Как вариант можно создать автоматическое копирование алиаса /etc/apache2/conf-enabled/letsencrypt.conf в апач при установке вашего cerbot и скопировать саму проверку на сервер /var/www/.well-known/acme-challenge/.htaccess and index.php это могло бы решить ошибку 403 и обеспечило бы проверку авторства домена у клиента

Sure. It’s not a request for help though, but more of an “idea” how something might get set up to avoid error 403 on verification. However, I would not be using that approach - if you look at the fragment of PHP code suggested above, you can see that it indroduces a security issue. I’ll advise the poster to reconsider :slight_smile:

Александр, я бы не рекомендовал подобные методы решения проблем относящихся к ошибке 403 - количество конфигураций серверов встречающихся на форуме гораздо более обширно чем это может показаться на первый взгляд. Это не только Apache, но и Nginx, IIS и более экзотические вещи. Не везде может наличествовать PHP, не везде сервер может работать под www-data, etc. В зависимости от OS и версии даже команда рестарта приведенная выше может не сработать.

Самая большая проблема выше однако не в этом, а в том что подобный фрагмент кода добавляет проблему безопасности на сервер. Хочется верить что это неумышленно, но в любом случае я бы рекомендовал удалить данный пост, чтобы подобная конфигурация не была кем-либо использована.

это да я только предложил вариант решения ну для большей безопасности можно отфильтровать переменную code теперь в нее фиг засунешь скрипт или кусок htmla

<?php header("HTTP/1.0 200 OK"); if(isset($_GET['code'])) echo htmlspecialchars(trim($_GET['code'], '/')); ?>

подобное решение можно и на питоне реализовать ваш certbot как раз тоже на питоне

ну и права можно такие поставить chmod -R 755 /var/www/.well-known/acme-challenge

Александр, если хочется предложить какую-то помощь на этом форуме, я бы рекомендовал делать это на английском - так больше шансов увидеть полезное и результативное обсуждение. Особенно учитывая множество клиентских конфигураций. В любом случае оригинальный пост в его изначальном виде несет больше вреда чем пользы.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.