用 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;
}
1
xiaoz 2015-12-04 12:27:56 +08:00 via Android
你这个配置是同时启用 http 和 https 吧,你把 ssl on;注释后重启下 nginx 试试。
|
3
fangdingjun 2015-12-04 12:41:13 +08:00 1
你把 http 部分的配置复制一遍,然后改端口,加 ssl 配置就行了
现在的配置,只支持静态文件 |
4
ooxxcc 2015-12-04 12:42:07 +08:00
你的 ssl 段根本就没启用 php 解析等东西啊……
|
5
shotego OP @fangdingjun 谢谢,已经可以了。不过有一个新问题,为什么只有首页的锁是绿的?其他的是感叹号呢?
|
7
ryd994 2015-12-04 12:59:46 +08:00
|
11
ryd994 2015-12-04 13:28:11 +08:00
@shotego 非 https 引用可以把链接改成 //开头解决,比如 //a.com/b.js
|
12
referblue 2015-12-04 16:14:51 +08:00
真能折腾,都用上 Let's Encrypt 了,三个月一更新?
|
13
Andy1999 2015-12-04 16:24:45 +08:00 via iPhone
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; 加在后面 |