On this page... (hide)
1. 利用 Let's Encrypt 免费证书配置 SSL 服务
利用 certbot 脚本可以很方便地完成免费证书的申请、配置、自动续期等过程。
(安装 certbot 最好的方式是通过 snap,可以很好地处理相关的依赖关系,以及不受宿主操作系统版本的限制去更新 certbot 的版本,以便自动适应 Let's Encrypt 流程要求的变化。)
certbot 能自动进行对 Nginx 配置文件的必要修改,所以可以先不管 SSL,把 Nginx 的 http 服务调通,然后执行 certbot 脚本,自动完成证书的申请和 Nginx 配置的修改工作。
比如在 Nginx 里配置 Gitea 服务的时候,就可以先用 proxy_pass 把 Gitea 连通,然后再增加 SSL 支持。
比如执行指令
如果已经提前通过 certbot 创建好证书了(例如先把证书在 Lighttpd 配置完成了),只是需要让 Nginx 启用这个证书,那么可以执行类似如下指令:
对于申请成功的证书,cerbot 会自动维护定期续期的后台任务。
2. 作为反向代理发布内网服务
在 Nginx 外层启用了 HTTPS 协议的情况下,有时候内网服务会仍然以为自己在 HTTP 下,导致静态资源依赖无法正常工作(比如内网是 lighttpd + FastCGI PHP,页面生成的 css 地址会是 HTTP 的,浏览器出于安全原因就不会加载这些 css)。一种绕过这个问题的办法是——让内网服务也工作在 HTTPS 下,Nginx 的 proxy_pass 是允许源头服务也使用 HTTPS 的。
3. 解决大附件上传限制
Nginx 默认设置的 post size 大小限制是 1M,在配合 Gitea 等应用使用时会有很多不方便的地方。
解除这个限制的办法是修改 /etc/nginx.conf ,在 http 章节下增加如下配置项:
. . .
client_max_body_size 64M;
. . .
}
然后重启 Nginx,使配置项生效就行了。