无法将 HTTPS VirtualHost 反向映射到原始

发布时间:2021-03-07 14:29

我将 Apache 用于 HTTP,Daphne 用于 WebSockets,Django 用于 Web 应用程序和 我正在关注 this documentation 创建 HTTPS 认证,但是当我使用 sudo certbot --apache 我收到错误

Could not reverse map the HTTPS VirtualHost to the original

IMPORTANT NOTES:
 - Unable to install the certificate

我试过了:

  • sudo certbot certonly --apache - 它没有抛出任何错误,甚至说“恭喜!您的证书和链已保存在:”,但它似乎不起作用。我的 apache 项目 .conf 文件没有改变,没有创建新文件,https://myproject.com 没有工作。
  • 注释服务器名称
  • 注释 WebSocket 部分(RewriteEngine on 后 3 行)
  • 评论 WSGI 部分(如 this tutorial

Apache 项目配置:

<VirtualHost *:80>
    ServerName www.tdchat.net
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html
    
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined

    Alias /static /home/n3rsti/ToDoChat/todochat/static
    <Directory /home/n3rsti/ToDoChat/todochat/static>
        Require all granted
    </Directory>

    Alias /media /home/n3rsti/ToDoChat/todochat/media
        <Directory /home/n3rsti/ToDoChat/todochat/media>
                Require all granted
        </Directory>


    <Directory /home/n3rsti/ToDoChat/todochat/todochat>
        AllowOverride All
        <Files wsgi.py>
            Require all granted 
        </Files>    
    </Directory>

    WSGIScriptAlias / /home/n3rsti/ToDoChat/todochat/todochat/wsgi.py
    WSGIDaemonProcess django_app python-path=/home/n3rsti/ToDoChat/todochat python-home=/home/n3rsti/ToDoChat/venv
    WSGIProcessGroup django_app

    RewriteEngine on
    RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC,OR]
    RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC]
    RewriteRule .* ws://127.0.0.1:8001%{REQUEST_URI} [P,QSA,L]
    
</VirtualHost>
回答1