nginx 启用 https , 403 forbidden

2015-12-04 12:09:25 +08:00
 shotego

用 letsencrypt 弄了证书,然后准备配置 nginx 。
配置文件如下,然后用 http 正常访问, https 出现 403 。网上爬帖子说权限问题,或者 index.php 问题。权限什么的应该没有问题啊。添加 index index.php 后,用 https 访问,浏览器直接把我的 index.php 下载下来了。。。
建站新手,很多东西还在学,这个配置也是参照别人的。求解哪里不对了
server
{
listen 80;
#listen [::]:80;
server_name www.forloop.top forloop.top;
index index.html index.htm index.php default.html default.htm default.php;
root /home/wwwroot/www.forloop.top;
include wordpress.conf;
#error_page 404 /404.html;
location ~ [^/].php(/|$)
{
# comment try_files $uri =404; to enable pathinfo
try_files $uri =404;
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fastcgi.conf;
#include pathinfo.conf;
}
location ~ ..(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .
.(js|css)?$
{
expires 12h;
}
access_log off;
}
server{
listen 443;
root /home/wwwroot/www.forloop.top;
server_name www.forloop.top;
ssl on;
ssl_certificate /etc/letsencrypt/live/forloop.top/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/forloop.top/privkey.pem;
}

9870 次点击
所在节点    NGINX
14 条回复
xiaoz
2015-12-04 12:27:56 +08:00
你这个配置是同时启用 http 和 https 吧,你把 ssl on;注释后重启下 nginx 试试。
shotego
2015-12-04 12:35:03 +08:00
@xiaoz 注释掉了,还是没有用
fangdingjun
2015-12-04 12:41:13 +08:00
你把 http 部分的配置复制一遍,然后改端口,加 ssl 配置就行了
现在的配置,只支持静态文件
ooxxcc
2015-12-04 12:42:07 +08:00
你的 ssl 段根本就没启用 php 解析等东西啊……
shotego
2015-12-04 12:51:25 +08:00
@fangdingjun 谢谢,已经可以了。不过有一个新问题,为什么只有首页的锁是绿的?其他的是感叹号呢?
squid157
2015-12-04 12:53:20 +08:00
@shotego 静态资源非 https 你得改内容
ryd994
2015-12-04 12:59:46 +08:00
@fangdingjun 不用复制
原来的配置加个 listen 就好了
listen 443 ssl;

新手教程害人不浅, ssl on 都废弃了多久的选项了。。。
bidu
2015-12-04 13:00:31 +08:00
@shotego 看看引用的外部文件是不是 https
shotego
2015-12-04 13:04:04 +08:00
@bidu 懂了,谢谢
shotego
2015-12-04 13:05:11 +08:00
@ryd994 确实如你所说,谢谢。配置好了,并且换成了强制跳转 https
ryd994
2015-12-04 13:28:11 +08:00
@shotego 非 https 引用可以把链接改成 //开头解决,比如 //a.com/b.js
referblue
2015-12-04 16:14:51 +08:00
真能折腾,都用上 Let's Encrypt 了,三个月一更新?
Andy1999
2015-12-04 16:24:45 +08:00
location ~ [^/].php(/|$)
{
# comment try_files $uri =404; to enable pathinfo
try_files $uri =404;
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
include fastcgi.conf;
#include pathinfo.conf;
}
location ~ ..(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ ..(js|css)?$
{
expires 12h;
}
access_log off;

加在后面
LEFT
2015-12-04 19:46:49 +08:00
@shotego http 301 到 https 就绿了,

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

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

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

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

© 2021 V2EX