【问题标题】:Apache conf on Ubuntu causing url to repeat itself instead of redirectUbuntu上的Apache conf导致url重复而不是重定向
【发布时间】:2020-08-17 04:39:55
【问题描述】:

Ubuntu 18.04 阿帕奇2 证书机器人

我正在尝试在此站点上设置 cerbot 和非 www 到 www 重定向,并且我正在从另一个运行良好的站点复制 conf 文件,但由于某种原因,443 被禁止此新站点上的用户和非 www.domain.url 重定向到 domain.url/www.domain.urlwww.domain.urlwww.domain.url 等。

main.conf

<VirtualHost *:80>                                                                                                 
    ServerName domain.url                                                                                       
    Redirect permanent / https://www.domain.url/                                                         
</VirtualHost>   

<VirtualHost *:80>                                                                                                                                                                                                                                                                                                                                                                                             
    ServerName www.domain.url                                                                                    
    ServerAdmin email@domain.url                                                                              
    DocumentRoot /var/www/html
                                                                                                                                                                                         
    ErrorLog ${APACHE_LOG_DIR}/error.log          
                                                                                                                                                                       
    RewriteEngine on                                                                                           
    RewriteCond %{SERVER_NAME} =www.domain.url                                                                  
    RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]                            
</VirtualHost>                                                                                                                                                                                                        
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet   

main-le-ssl.conf

<IfModule mod_ssl.c>                                                                                             
    <VirtualHost *:443>                                                                                                                                                                                                                      
        ServerName www.domain.url                                                                                          
        ServerAdmin email@domain.url                                                                                 
        ServerAlias domain.url                                                                                            
        DocumentRoot /var/www/html 
        
        RewriteEngine On                                                                                                                                                                                                                  
        RewriteCond %{HTTP_HOST} !^www\. [NC]                                                                            
        RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]                                                                                                                                                                                                                                                  
                                                                                                                                                                                                    
        ErrorLog ${APACHE_LOG_DIR}/error.log                                                                             
        CustomLog ${APACHE_LOG_DIR}/access.log combined   
                                                                                                                                                                                   
        Alias /static /home/user/project/static                                                                     
        <Directory /home/user/project/static>                                                                               
            Require all granted                                                                                      
        </Directory>                                                                                                                                                                                                                      

        <Directory /home/user/project/media>                                                                                
            Require all granted                                                                                      
        </Directory>                                                                                                                                                                                                                      

        <Directory /home/user/project>                                                                                      
            <Files wsgi.py>                                                                                                          
                Require all granted                                                                                      
            </Files>                                                                                                 
        </Directory>   
                                                                                                                                                                                                               
        WSGIScriptAlias / /home/user/project/project/wsgi.py                                                          
        WSGIDaemonProcess theprocess python-path=/home/user/prject python-home=/home/user/project/wow           
        WSGIProcessGroup theprocess                                                                                                                                                                                                 

        Include /etc/letsencrypt/options-ssl-apache.conf                                                                 
        SSLCertificateFile /etc/letsencrypt/live/www.domain.url/fullchain.pem                                              
        SSLCertificateKeyFile /etc/letsencrypt/live/www.domain.url/privkey.pem                                             
    </VirtualHost>                                                                                                   
</IfModule>   

ssh、http、https 都启用了 ufw。我可能有用户能够查看我的网站的权限问题,但在安装 certbot 之前它工作正常。现在所有内容(导致重复域问题的非 https 非 www 除外)重定向到 https://www.domain.url,我收到一条禁止消息。

当我安装 certbot 时,我错过了非 www 域。当我返回并重新获得 www 和非 www 时,重定向设置失败,但它说我有我的证书。这是造成问题的原因吗?我以为我可以自己在配置文件中构建重定向...

【问题讨论】:

    标签: apache server virtualhost certbot


    【解决方案1】:

    这篇文章最终得到了答案: https://serverfault.com/questions/957788/forbidden-after-enabling-ssl

    我的 WSGIScriptAlias 文件路径中有大小写错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-04-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-15
      • 1970-01-01
      • 2017-12-06
      相关资源
      最近更新 更多