文档目录

HTTP代理实践


本教程将指导你如何配置坦克 PWA3 虚拟机配置文件,以便通过 HTTP 代理将用户请求转发到后端的 Gogs 应用。我们将重点配置四个关键参数:域名、端口、瞄准路径和后端地址。

步骤 1:准备配置文件

首先,进入坦克 PWA3 安装目录,例如 tank-pwa3\虚拟机\ 复制现有的 虚拟机样本.tconf 文件,并将其重命名为适合你的网站的名字,例如 gogs.shos.tconf

cd ./tank-pwa3/虚拟机/
cp 虚拟机样本.tconf gogs.shos.tconf
# 如果在 Windows 系统,直接按 Ctrl + C ,再按 Ctrl + V 复制。然后重命名 gogs.shos.tconf

步骤 2:编辑配置文件

打开 gogs.shos.tconf 文件,按照以下步骤进行修改:

  1. 域名
    • 设置你的域名。假设你要使用 gogs.shos 作为域名。
    • 域名=「gogs.shos」
      

  2. 端口
    • 指定监听的端口号。通常情况下,静态网站会使用标准 HTTP 端口 80。
    • 端口=80
      

  3. 瞄准路径
    • 设置代理的瞄准路径为 /,表示所有请求都会被代理到后端服务器。
    • 瞄准路径=/
      

  4. 后端地址
    • 指定后端 Gogs 应用的地址。假设 Gogs 运行在本地的 127.0.0.1:3000
    • 后端地址=http://127.0.0.1:3000
      

  5. 注释掉不需要的部分
    • 注释掉与动态内容处理、HTTPS 证书管理等无关的部分。例如,注释掉所有关于 HTTPS 证书签发、默认页面、程序目录等内容。

修改后的配置文件示例 (gogs.shos.tconf)

,,={}#“"”"

# Gogs 代理配置文件
域名=「gogs.shos」
端口=80

!访问控制=访问控制一

# 默认页面,直接输入域名而没有指定文件名的时候,会显示默认页面
!默认页=「index.html」

# 如果虚拟机需要指定程序目录,则删除注释。
!程序目录=/home/用户名/applications/test.shos

# 如果你使用http访问这个域名,会跳转到https安全协议。如果你需要这个功能,在下面这行文字删除!号。
!重定向到HTTPS

# 坦克AW 开启 https 访问需要把前面的 ! 删除。删除后就可以通过 https 服务虚拟机。证书保存在《生产环境.tconf》配置文件的 虚拟机《HTTPS证书目录》指定的目录里面。如果你不需要这个 https 功能,可以在下面这行添加一个!号注释它。
# 即使删除!号,只表示这个虚拟机支持 https 协议,但它还没有证书。如果需要证书,还需要签发证书,签发证书证书有两种方式:第一种是 自己签发证书 ; 第二种是: 自动签发证书。
!HTTPS证书《
    # 支持自己签发HTTPS证书,这个证书的CA根证书也是软件自己签发,如果你的项目必须使用https访问,但是又没有https证书,可以使用自己签发的https证书作为临时解决方案。自己签发的https证书由于没有得到第三方认同,它是有局限性的,并不能满足所有功能,但其可以提高一定程度的安全性。如果需要使用这个功能,把下面这行文字的!号删除。自签证书保存在《生产环境.tconf》配置文件的 虚拟机《HTTPS证书目录》指定的目录。

    # 自己签发的证书,不受浏览器承认,浏览器会提示证书不信任。
    !自己签发证书

    # 注册邮箱用于接收 HTTPS证书 相关通知,比如:过期通知、更新通知等。
    自动签发证书注册邮箱=xxx@xxx.xx

    # 自动签发证书使用 ACME 协议自动获取证书,获取证书的方式有:
    # 1. DNS 认证方式
    #       1.1 DNS供应商 AWS Route53 
    !自动签发证书《
        区域="xxx"
        访问ID="xxx"
        访问密钥="xxx"

    # 证书目录默认等于《生产环境.tconf》配置文件的 虚拟机《HTTPS证书目录》。如果需要自己设置,可以删除前面的!号,然后配置自己HTTPS证书路径。注意:如果你使用自签功能,则自签证书保存在《生产环境.tconf》配置文件的 虚拟机《HTTPS证书目录》指定的目录。
    # 如果你使用第三方CA机构的https证书,一种推荐的做法是把自签功能关闭,先在《生产环境.tconf》配置文件的 虚拟机《HTTPS证书目录》里面创建一个与域名一样的文件夹,然后把你的https证书复制到域名文件夹里面。然后在下面配置。

    !证书=虚拟机/HTTPS证书/你的证书目录/你的证书
    !私钥=虚拟机/HTTPS证书/你的证书目录/你的证书key

后端服务器代理《
    瞄准路径=/
    
    # 后端地址支持两种类型
    #   fcgi://     表示后端是FastCGI接口后端,比如 PHP 程序。
    #   http://     表示是http协议后端,比如普通 web 程序。
    后端地址=http://127.0.0.1:3000

    # 代理文件扩展名,不用加点。* (星号表示所有类型的文件)目前支持:
    #       php
    !只代理文件类型=「php」

确保后端服务器代理前面没有叹号后,可以保存配置文件。


步骤 3:重启服务器

确保所有的更改都保存好之后,重启你的服务器以应用新的配置。

# Windows 系统直接关闭坦克 PWA3,然后重启。
# 对于 Linux 系统
# sudo systemctl restart tank-pwa3.service

步骤 4:验证配置

打开浏览器,访问你配置的域名(例如 http://gogs.shos),检查是否正确代理到了 Gogs 应用。如果一切正常,你应该能够看到 Gogs 的登录界面或其他初始页面。


总结

通过以上步骤,你已经成功地配置了一个简单的 HTTP 代理,将用户请求从指定域名转发到后端的 Gogs 应用。这个配置只需要关注域名、端口、瞄准路径和后端地址这四个核心参数,适用于大多数需要简单代理的情况。