侧边栏壁纸
  • 累计撰写 27 篇文章
  • 累计创建 42 个标签
  • 累计收到 34 条评论

目 录CONTENT

文章目录

优化建站时的反向代理配置

miykah
2023-12-08 / 0 评论 / 0 点赞 / 227 阅读 / 4455 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2023-12-11,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

前言

之前在部署项目的时候,都是一股脑把反向代理配置直接写到 nginx 主配置文件中(也许不太优雅)。

比如之前部署的 Halo 博客,将反向代理自己写到配置文件中,并且这样我是自己在腾讯云申请的免费SSL证书,然后保存到服务器,来开启SSL的,感觉也比较麻烦。

# Halo
server {
    listen 80; #侦听80端口,如果强制所有的访问都必须是HTTPs的,这行需要注销掉
    listen 443 ssl; #侦听443端口,用于SSL
    server_name blog.miykah.top;  # 自己的域名

    #配置 ssl
    ssl_certificate     /opt/cert/blog.miykah.top/blog.miykah.top_bundle.pem;  # pem文件的径
    ssl_certificate_key  /opt/cert/blog.miykah.top/blog.miykah.top.key; # key文件的路径

    ssl_session_timeout 5m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    ssl_prefer_server_ciphers on;

    client_max_body_size 1024m;

    location / {
        proxy_set_header HOST $host;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://127.0.0.1:8090;
   }
}

宝塔的 nginx 配置修改界面也提示:

之后可以利用宝塔建站点的方式来进行反向代理,可以很方便的管理站点,同时可以利用宝塔面板直接申请免费证书,还会自动续期。

准备

先将之前 nginx 主配置文件中,自己配置的一些反向代理配置删除掉。

比如这些:

重载 nginx 配置或重启一下 nginx。

添加站点

以 Halo 博客为例,创建站点,配置域名。

申请 SSL 证书

创建好站点后,配置站点,进入 SSL,点击 Let's Encrypt,申请证书。

PS:这里如果先配置了下一步的反向代理,是申请不了的(会提示 已开启反向代理的站点无法申请SSL),需要先关闭反向代理,申请证书后,再开启反向代理。

申请成功后可以看到部署的证书。可以开启强制 HTTPS

反向代理

然后进入站点配置的反向代理,添加反向代理。

PS:我遇到了添加反向代理失败的情况(提示:伪静态/nginx主配置/vhost/文件已经存在全局反向代理)

这里参考:https://www.jb51.net/article/254978.htm,解决。

主要排查点是:

首先需要了解nginx.conf各个路径的配置文件,这个问题涉及到三个路径的配置文件。

第一个是网站的伪静态重写配置文件,在/www/server/panel/vhost/rewrite/ 路径的文件夹下。

第二个是网站本身的配置文件,在/www/server/panel/vhost/nginx/ 路径的文件夹下。

第三个最后一个是nginx.conf配置文件,这个一般都是在/www/server/nginx/conf/ 路径下。

然后查看每个配置是否存在location / 匹配规则,有的话需要删除。

是因为我之前自己手动配置的 nginx 反向代理中包含 location / 规则。但是我已经删除掉了,不知道为啥还会出现,后来重启了几次 nginx 又成功了。。。玄学

添加成功后可以看到我们添加的反向代理:

上一步遇到 已开启反向代理的站点无法申请SSL 问题,就需要先在这里关闭反向代理。

访问测试

接下来就可以访问 blog.miykah.top 测试是否成功。

0

评论区