Apache2.4 和 WSL2 出现错误 403

Apache2.4 和 WSL2 出现错误 403

问题:

尝试访问该网站时返回错误:403。据我所知日志文件中没有提供任何信息。

版本

Windows 10: Version 2004 (OS Build 19041.388)
WSL: Version 2
Server version: Apache/2.4.41 (Ubuntu)
Server built:   2020-04-13T17:19:17

权限

drwxrwxr-x  3 www-data www-data 4096 Jul 22 12:36 /var/www/
lrwxrwxrwx  1 www-data www-data   27 Jul 22 12:36 /var/www/website -> /mnt/d/work/website/
drwxrwxrwx  1 www-data www-data 4096 Jul 22 11:00 /mnt/d/work/website/

Apache2ctl -S

VirtualHost configuration:
*:80                   website.localhost (/etc/apache2/sites-enabled/website.conf:1)
*:443                  website.localhost (/etc/apache2/sites-enabled/website.conf:10)
ServerRoot: "/etc/apache2"
Main DocumentRoot: "/var/www/html"
Main ErrorLog: "/var/log/apache2/error.log"
Mutex watchdog-callback: using_defaults
Mutex rewrite-map: using_defaults
Mutex ssl-stapling-refresh: using_defaults
Mutex ssl-stapling: using_defaults
Mutex ssl-cache: using_defaults
Mutex default: dir="/var/run/apache2/" mechanism=default
Mutex mpm-accept: using_defaults
PidFile: "/var/run/apache2/apache2.pid"
Define: DUMP_VHOSTS
Define: DUMP_RUN_CFG
User: name="www-data" id=33
Group: name="www-data" id=33

虚拟主机配置

<VirtualHost _default_:80>
    ServerName www.website.local
    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
    DocumentRoot /mnt/d/work/website/public
        
    <Directory /mnt/d/work/website/public>
        RewriteEngine On
        RewriteRule ^public\.html$ - [L]
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteRule . public.html [L]

        Options Indexes FollowSymLinks Includes
        AllowOverride All
        Order allow,deny
        Allow from all
        Require all granted
    </Directory>
</VirtualHost>

Hosts 文件

127.0.0.1       www.website.local

日志

access.logerror.log???中没有条目

答案1

更新 24-02-2021

wsl-linux 的 ip 地址是动态 ip 则不行。你只需要添加两行代码

127.0.0.1   www.website.local
::1         www.website.local

我也遇到同样的问题,解决此问题的步骤非常简单。

  1. 运行命令

    $ ip a

    在此处输入图片描述

复制 IP 地址 2. 按窗口按钮输入记事本(以管理员身份运行) 3. 在记事本中,文件->打开文件 C:\Windows\System32\drivers\etc\host 4. 在底部添加行

172.19.170.24  www.website.local

我尝试使用 127.0.0.1 <my_vhost> 和 172.19.170.24 <my_vhost> 来更改 /etc/hosts 文件,但没有效果。

答案2

我遇到了同样的问题。这是网络错误。

运行该ip addr命令并找出您的eth0IP 地址,并将其用于您的 hosts文件。

这对我来说是有效的,因为就像您的 Apache 配置一样,我的配置也是正确的。

相关内容