如果对反向代理不明觉厉的话,可以看一下我之前写过的Nginx笔记

Nginx 进行反向代理

安装 Nginx

# 添加 Nginx 源
sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

# 安装 Nginx
sudo yum install -y nginx

# 启动 Nginx
sudo systemctl start nginx.service

# 设置开机自启 Nginx
sudo systemctl enable nginx.service

配置 Nginx

配置文件一般以 nginx.conf 命名,最简单的配置如下
server {
    listen 80;

    server_name example.com www.example.com;

    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:3000/;
    }
}
  • server_nameexample.com www.example.com 修改为自己的域名。
  • proxy_passhttp://127.0.0.1:3000/ 修改为已经部署的服务
# 检查配置是否有误
sudo nginx -t

# 重载 Nginx 配置
sudo nginx -s reload

配置 SSL 证书

该操作的表面现象就是 将 HTTP 换成 HTTPS 协议,具体请学习计算机网络

注意:需要在防火墙开启443端口

下面的代码为自动申请免费的SSL证书,如果你自己准备了SSL证书,请查看相关证书提供的教程。

# 安装 certbot 以及 certbot nginx 插件
sudo yum install certbot python2-certbot-nginx -y

# 执行配置,中途会询问你的邮箱,如实填写即可
sudo certbot --nginx

# 自动续约
sudo certbot renew --dry-run

到这里,关于 Nginx 的配置也就完成了,你可以访问一下自己的域名查看效果。

Caddy 进行反向代理

Caddy 是一款使用 Go 语言开发的 Web 服务器。其配置更为简洁,并可以自动申请及配置 SSL 证书,这两年非常火的一个 HTTP Server

有人说 Caddy 在性能比不上 Nginx,我不知道,但是在 上手难度/配置难度 确实更加友好。

Caddy支持 自动签订 Let’s Encrypt SSL 证书,只需要提供一个邮箱,他会自己申请、配置和续约 SSL证书。(不用再做过多配置)

安装 Caddy

# 安装 Caddy 软件包
yum install caddy -y

配置 Caddy

# 使用 vim 编辑 Caddyfile
vim /etc/caddy/conf.d/Caddyfile.conf
https://www.simple.com {
    gzip
        tls xxxx@xxx.xx
        proxy / localhost:port {
        transparent
    }
}
  1. https://www.simple.com 改为自己的域名。
  2. tls 后面的 xxxx@xxx.xx 改为自己的邮箱地址,这是用于自动申请 SSL 证书用的。需要注意的是,不需要你自己配置 SSL 证书,而且会自动帮你续签。
  3. localhost:port 请将 port 修改为 服务 的运行端口

修改完成之后启动 Caddy 服务即可。

# 开启自启 Caddy 服务
systemctl enable caddy

# 启动 Caddy
service caddy start

# 停止运行 Caddy
service caddy stop

# 重启 Caddy
service caddy restart

# 查看 Caddy 运行状态
service caddy status

如果 Caddy 启动出现如 [/usr/lib/systemd/system/caddy.service:23] Unknown lvalue 'AmbientCapabilities' in section 'Service' 等问题

请使用 yum update -y 更新系统。

然后再使用 service caddy restart 重启,目前已知 CentOS 7.3 会出现该问题。

配置多网址重定向到主网址,比如访问 simple.com 跳转到 www.simple.com

# 使用 vim 编辑 Caddyfile
vim /etc/caddy/conf.d/Caddyfile.conf

我们在原有的基础上添加以下配置

https://simple.com {
    redir https://www.simple.com{url}
}

https://simple.comhttps://www.simple.com{url} 修改为自己需要的网址就行了,比如我要求访问 xn2001.com 跳转到 www.xn2001.com

https://xn2001.com {
    redir https://www.xn2001.com{url}
}

https://www.xn2001.com {
    gzip
        tls zxh@xn2001.com
        proxy / localhost:3000 {
        transparent
    }
}

最后我们重启 Caddy 即可。

关于 Caddy 反向代理的配置也就完成了,现在你可以访问一下自己的域名测试效果。


Last modification:January 7, 2022
如果觉得我的文章对你有用,请随意赞赏