跳到主要内容

系统地址配置

当管理后台走内网、答题页面走外网时,你可以通过系统地址配置,让发布页显示正确的外网链接和二维码。

使用场景

  • 管理员在内网访问后台,但外部用户需要通过公网填写问卷
  • 希望发布页面展示的链接、二维码统一使用外网域名
  • 需要通过 Nginx 控制外网只开放答题相关页面和接口

操作步骤

1. 配置系统地址

登录管理后台后,进入 基础设置配置管理界面配置,找到 系统地址配置,填写外网访问域名并保存。

例如:

  • 管理后台:https://admin.survey.example.com
  • 答题地址:https://survey.example.com
图片占位

截图:系统地址配置页面,标注「系统地址」输入框和保存按钮 文件名:system-link-config-form.png

2. 验证发布页显示

进入任意问卷或考试的 发布 页面,确认下面这些内容已经切换成外网域名:

  • 答题链接
  • 二维码
  • 复制链接后的地址前缀

如果仍显示内网地址,先刷新页面;仍不生效时,再检查配置是否保存成功。

图片占位

截图:发布页面,展示外网域名的链接和二维码 文件名:system-link-config-publish.png

3. 配置外网访问规则

如果你的部署要求内外网隔离,还需要在外网网关或 Nginx 上限制可访问路径,只开放答题相关页面和必要接口,不开放后台管理入口。

常见做法:

  • 外网域名只开放答题页面路径
  • 外网仅代理答题、抽奖、登录等必要接口
  • 后台管理域名只在内网开放

Nginx 配置示例

下面是一个常见的外网配置思路,核心目的是让外网只能访问答题相关页面:

server {
listen 443 ssl;
server_name survey.example.com;
root /var/www/surveyking;

location ~ ^/(e|s|t|redeem)/ {
try_files $uri $uri/ /index.html;
}

location /captcha {
proxy_pass http://localhost:1991/captcha;
}

location /admin-api/survey/ {
proxy_pass http://localhost:1991/admin-api/survey/;
}

location /admin-api/lottery/ {
proxy_pass http://localhost:1991/admin-api/lottery/;
}

location /system/auth/ {
proxy_pass http://localhost:1991/system/auth/;
}

location / {
return 403;
}
}
注意

不要直接把整个后台域名暴露到公网。外网应只开放答题和必要接口,避免管理入口直接暴露。

常见问题

为什么发布页还是显示内网地址?

通常是系统地址没有保存成功,或者页面仍在使用旧缓存。先重新保存配置并刷新页面,再检查发布页链接是否更新。

配置系统地址后,后台访问地址会被一起改掉吗?

不会。系统地址主要影响发布页生成的答题链接和二维码展示。后台是否走内网,仍由你的部署域名和网关配置决定。