一、使用 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

#下载 Halo 官方的 Nginx 配置模板

curl -o /etc/nginx/conf.d/halo.conf --create-dirs http://halo.ryanc.cc/config/nginx.conf

#使用 vim 编辑 halo.conf

vim /etc/nginx/conf.d/halo.conf

#把example.com 改为自己的域名。

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:8090/;
    }
}

启动nginx

#检查配置是否有误

sudo nginx -t

#重载 Nginx 配置

sudo nginx -s reload

配置SSL证书

#安装 certbot 以及 certbot nginx 插件

sudo yum install certbot python2-certbot-nginx -y

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

sudo certbot --nginx

#自动续约

sudo certbot renew --dry-run

二、使用 Caddy 进行反向代理

Caddy 是一款使用 Go 语言开发的 Web 服务器。其配置更为简洁,并可以自动申请及配置 SSL 证书(推荐)。

安装 Caddy

#安装 Caddy 软件包

yum install caddy -y

配置 Caddy

#下载 Halo 官方的 Caddy 配置模板

curl -o /etc/caddy/conf.d/Caddyfile.conf --create-dirs http://halo.ryanc.cc/config/Caddyfile

#使用 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 修改为自己的地址和IP。

启动 Caddy

#开启自启 Caddy 服务

systemctl enable caddy

#启动 Caddy

service caddy start

#停止运行 Caddy

service caddy stop

#重启 Caddy

service caddy restart

#查看 Caddy 运行状态

service caddy status

进阶设置

多网址重定向到主网址,比如访问 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} 修改为自己需要的网址就行了,比如我要求访问 ryanc.cc 跳转到 www.ryanc.cc,完整的配置如下:

http://ryanc.cc {
  redir https://www.ryanc.cc{url}
}

https://www.ryanc.cc {
  gzip
  tls i@ryanc.cc
  proxy / localhost:8090 {
    transparent
  }
}

最后我们重启 Caddy 即可。

Halo官方地址