apache 启用 https,访问提示 403 forbidden

2018-08-11 15:36:52 +08:00
 GavinHsueh

用 letsencrypt 弄了证书,然后准备配置 apache,配置完访问提示 403 forbidden,但是 http 访问正常

该站点的单独配置文件如下:

<VirtualHost *:80> ServerAdmin admin@linuxeye.com DocumentRoot "/data/wwwroot/www.chanzhicms.com" ServerName www.chanzhicms.com ServerAlias chanzhicms.com ErrorLog "/data/wwwlogs/www.chanzhicms.com_error_apache.log" CustomLog "/data/wwwlogs/www.chanzhicms.com_apache.log" combined <Directory "/data/wwwroot/www.chanzhicms.com"> SetOutputFilter DEFLATE Options FollowSymLinks ExecCGI Require all granted AllowOverride All Order allow,deny Allow from all DirectoryIndex index.html index.php <VirtualHost *:443> DocumentRoot /data/wwwroot/www.chanzhicms.com ServerName https://www.chanzhicms.com:443 ServerAdmin admin@linuxeye.com SSLEngine on SSLCertificateFile /etc/letsencrypt/live/www.chanzhicms.com/cert.pem SSLCertificateKeyFile /etc/letsencrypt/live/www.chanzhicms.com/privkey.pem SSLCertificateChainFile /etc/letsencrypt/live/www.chanzhicms.com/chain.pem

<Directory "/data/wwwroot/www.chanzhicms.com">
    SetOutputFilter DEFLATE
    Options FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
    DirectoryIndex index.html index.php
</Directory>
6686 次点击
所在节点    Linux
9 条回复
zw1one
2018-08-11 17:45:27 +08:00
server.xml 里面看下是不是访问的 https 的那个端口。
luoyayu
2018-08-11 17:57:24 +08:00
楼主好巧,昨天我也遇到了,我的解决方法是在每个 403 vhost 下都添加
ServerAlias xxxx
Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/xxxx/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/xxxx/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/xxxx/chain.pem
例如 vhost-ssl.conf,vhost-le-ssl.conf
luoyayu
2018-08-11 17:58:05 +08:00
@luoyayu 443
humansjl
2018-08-11 21:28:24 +08:00
<VirtualHost *:443>
ServerName www.chanzhicms.com

LZ 试试。
vss80p585
2018-08-11 21:41:01 +08:00
用宝塔保平安
GavinHsueh
2018-08-12 00:56:36 +08:00
@luoyayu 你好,你解决了么?我并没有 options-ssl-apache.conf 这个文件
luoyayu
2018-08-12 10:40:02 +08:00
你在生成证书的时候加上--apache 了吗
artvista
2018-08-12 11:10:39 +08:00
装个宝塔面板吧,方便很多
GavinHsueh
2018-08-12 15:41:09 +08:00
终于成功了,还是要谢谢大家~
找到原因了,我 apache 用的是 2.4+版本,需要在网站单独配置文件里加上 Require all granted 才行。这条命令是 apache2.4 新增加的,用以替代 allow,deny 以及 order 指令。
<Directory "/data/wwwroot/www.chanzhicms.com">
SetOutputFilter DEFLATE
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
DirectoryIndex index.html index.php
Require all granted
</Directory>
@luoyayu

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/478874

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX