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

查询nginx安装位置

whereis 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官方地址