博客
关于我
【2020阿里云部署实战】使用Nginx/Caddy反向代理进行域名访问
阅读量:274 次
发布时间:2019-03-03

本文共 3281 字,大约阅读时间需要 10 分钟。

文章目录

本栏目,使用halo开源项目快速搭建个人博客,通过阿里云实例的一系列部署,完成建站。从如何购买实例、购买域名、域名绑定解析、绑定安全组、开放防火墙、Linux-jar包部署,docker部署等各方面,让新手小白从0到建站完毕拥有自己的个人博客

简介

  • 注:本文是基于halo官网进行一些二次编写的文章,附上了一些我个人遇到的问题和解决方案,请放心食用 ,官网链接:

前提:

  • 假设你已经成功配置并运行好了 Halo,且不是使用 80 端口运行(80端口是http使用,不能占用)
  • 请确保域名已经成功解析到服务器 IP,并确认服务器是否需要备案。
  • 请检查服务器(包含阿里云的安全规则)的 80 和 443 端口是否开放!!!

开放端口

  • Linux界面下输入检查端口是否开放

在这里插入图片描述

# 检查端口是否开放firewall-cmd --query-port=80/tcpfirewall-cmd --query-port=443/tcp
# 开放端口firewall-cmd --permanent --add-port=80/tcpfirewall-cmd --permanent --add-port=443/tcp
  • 同时确保阿里云安全规则也开放,如果不会如何开放安全组请点击食用:

在这里插入图片描述

包证这4个端口都开放,到这里,准备工作已经完成了


使用Caddy 反向代理进行访问(推荐)

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

  • 安装 Cad
# 安装 Caddy 软件包yum install caddy -y
  • 配置 Caddy
# 下载 Halo 官方的 Caddy 配置模板curl -o /etc/caddy/conf.d/Caddyfile.conf --create-dirs https://dl.halo.run/config/Caddyfile

下载完成之后,我们还需要对其进行修改

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

打开之后我们可以看到

https://www.simple.com { gzip tls xxxx@xxx.xx proxy / localhost:port {  transparent }}

请把 https://www.simple.com 改为自己的域名。

tls 后面的 xxxx@xxx.xx 改为自己的邮箱地址,这是用于自动申请 SSL 证书用的。需要注意的是,不需要你自己配置 SSL 证书,而且会自动帮你续签。
localhost:port 请将 port 修改为 Halo 的运行端口,默认为 8090。

  • 修改完成之后启动 Caddy 服务即可
# 开启自启 Caddy 服务systemctl enable caddy# 启动 Caddyservice caddy start# 停止运行 Caddyservice caddy stop# 重启 Caddyservice 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 编辑 Caddyfilevim /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,完整的配置如下:

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

最后我们重启 Caddy 即可。

到这里,关于 Caddy 反向代理的配置也就完成了,现在你可以访问一下自己的域名,并进行 Halo 的初始化了


使用Nginx反向代理进行访问

  • 安装 Nginx
# 添加 Nginx 源sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm# 安装 Nginxsudo yum install -y nginx# 启动 Nginxsudo systemctl start nginx.service# 设置开机自启 Nginxsudo systemctl enable nginx.service
  • 配置 Nginx
# 下载 Halo 官方的 Nginx 配置模板curl -o /etc/nginx/conf.d/halo.conf --create-dirs https://dl.halo.run/config/nginx.conf

下载完成之后,我们还需要对其进行修改

# 使用 vim 编辑 halo.confvim /etc/nginx/conf.d/halo.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:8090/;    }}

注意:请把 example.com 改为自己的域名。

  • 修改完成之后
# 检查配置是否有误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

到这里,关于 Nginx 的配置也就完成了,现在你可以访问一下自己的域名,并进行 Halo 的初始化了。


注意事项

在设置了反向代理之后,请一定记得去 Halo 的管理端设置一下正确的博客地址,否则可能会造成资源获取不成功!!!

—end

转载地址:http://hedl.baihongyu.com/

你可能感兴趣的文章
【更新】CLion v2018.3发布(六):VCS和插件
查看>>
Linux-调试器gdb-make/makefile-git工具
查看>>
leetcode关于微信读书的笔记-字符串
查看>>
文件服务器——src文件夹
查看>>
从零构建通讯器--4.4-4.5信号在创建线程的实战作用、write函数写入日志设置成不混乱、文件IO详解
查看>>
从零构建通讯器--5.2三次握手,telnet,wireshark
查看>>
关于信号的截断备忘录
查看>>
从零构建通讯器--5.6 通讯代码精粹之epoll函数实战1(连接池)
查看>>
Ubuntu命令行C++编译链接第三方库及命名空间
查看>>
为什么vs中的地址值是顺序相反的?
查看>>
如何判断两个浮点数是否相等?
查看>>
什么是地址?
查看>>
2019徐州网络赛K XKC's basketball team(结构体排序+二分+RMQ)
查看>>
POJ - 3984 迷宫问题(bfs+路径标记)
查看>>
2017ccpc杭州 E. Master of Subgraph(点分治 + 树dp + bitset)
查看>>
2021牛客寒假算法基础集训营3
查看>>
营收环比增幅近50%,星巴克在经历“劫”后重生吗?
查看>>
苹果进军搜索,背后藏着什么“阳谋”?
查看>>
ARK女神持仓每日跟踪-2021年01月05日
查看>>
js:详解js中的伪数组
查看>>