Сертификаты certbot безопасны в приложении laravel 5? - PullRequest
0 голосов
/ 26 декабря 2018

Я установил сертификаты certbot в свое приложение laravel 5.7, имея:

 certbot certificates
 # certbot certificates
Saving debug log to /var/log/letsencrypt/letsencrypt.log

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Found the following certs:
  Certificate Name: www.votes.nilov-sergey-demo-apps.tk
    Domains: www.votes.nilov-sergey-demo-apps.tk
    Expiry Date: 2019-03-23 12:31:35+00:00 (VALID: 86 days)
    Certificate Path: /etc/letsencrypt/live/www.votes.nilov-sergey-demo-apps.tk/fullchain.pem
    Private Key Path: /etc/letsencrypt/live/www.votes.nilov-sergey-demo-apps.tk/privkey.pem
  Certificate Name: votes.nilov-sergey-demo-apps.tk
    Domains: votes.nilov-sergey-demo-apps.tk www.votes.nilov-sergey-demo-apps.tk
    Expiry Date: 2019-03-23 12:26:54+00:00 (VALID: 86 days)
    Certificate Path: /etc/letsencrypt/live/votes.nilov-sergey-demo-apps.tk/fullchain.pem
    Private Key Path: /etc/letsencrypt/live/votes.nilov-sergey-demo-apps.tk/privkey.pem

Я использовал команду

sudo certbot --apache -d votes.nilov-sergey-demo-apps.tk -d www.votes.nilov-sergey-demo-apps.tk

для этого

В моем файле .envЯ изменил строку:

APP_URL=https://www.votes.nilov-sergey-demo-apps.tk

и в файле public / .htaccess я добавил строки для поддержки https, я надеялся, что с этими изменениями любой не https запрос будет перенаправлен на https://www.url

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews -Indexes
    </IfModule>

    RewriteEngine On

    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    RewriteCond %{HTTPS} !=on             # I ADDED THESE 2 LINES !
    RewriteRule ^.*$ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_URI} (.+)/$
    RewriteRule ^ %1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

Я делаю некоторые проверки и, кажется, он не работает должным образом, открывая внутреннюю страницу, скажем

https://www.votes.nilov-sergey-demo-apps.tk/admin/vote/edit/19

, если вручную удалить https://www. из URL, эта страница перенаправляется https://www.votes.nilov-sergey-demo-apps.tk/admin/vote/edit/19

Но если вручную убрать www.из URL, я получил ошибку: получил ошибку:

Your connection is not private
Attackers might be trying to steal your information from votes.nilov-sergey-demo-apps.tk (for example, passwords, messages, or credit cards). Learn more
NET::ERR_CERT_COMMON_NAME_INVALID

Я не уверен, что это безопасно и какие шаги я должен предпринять, чтобы убедиться, что мой сайт всегда находится в безопасном URL-адресе https?

Спасибо!

1 Ответ

0 голосов
/ 29 декабря 2018

Вам действительно нужно "www."в вашем URL?Я предлагаю изменить .env файл как:

APP_URL=https://votes.nilov-sergey-demo-apps.tk

и аналогично публично / .htaccess

RewriteRule ^. * $ https://%{HTTP_HOST}%{REQUEST_URI} [L, R = 301]

Или даже скрыть эту строку

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...