如果你想要搭建一个基于Typecho的博客,使用Nginx进行反向代理,并且使用CloudFlare进行防御,可以参考如下配置。
Nginx 配置
参考官方设置:服务器环境设置- Typecho Docs
参考Nginx Host配置:
# 独立php配置,升级php环境时方便修改配置
upstream php-handler {
# server 127.0.0.1:9000;
server unix:/var/run/php/php7.3-fpm.sock;
}
server {
# 为了开启cf的flexible ssl,需要开启80端口,否则会出现无限重定向
listen 80;
listen 443 ssl http2;
server_name www.example.com;
root /var/www/www.example.com;
index index.php;
# 存放https相关配置,以及ssl证书配置
include snippets/example.com.ssl.conf;
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php$1 last;
}
location ~ .*\.php(\/.*)*$ {
include fastcgi.conf;
fastcgi_pass php-handler;
}
}
Typecho强制HTTPS设置
此处设置主要是为了解决开启CloudFlare防护之后,Typecho后台无法登陆的问题
Typecho后台登陆时会带一个fallback地址,默认情况下因为CloudFlare是通过http方式回源,地址为http,我们要修改这个地址为https。
方法很简单,修改Typecho根目录下的config.inc.php
,添加一行配置
define('__TYPECHO_SECURE__', true);
1 条评论
牛逼啊,我今天给上了nginx代理刚好遇到了这个问题