系统地址配置
当管理后台走内网、答题页面走外网时,你可以通过系统地址配置,让发布页显示正确的外网链接和二维码。
使用场景
- 管理员在内网访问后台,但外部用户需要通过公网填写问卷
- 希望发布页面展示的链接、二维码统一使用外网域名
- 需要通过 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;
}
}
warning
不要直接把整个后台域名暴露到公网。外网应只开放答题和必要接口,避免管理入口直接暴露。
常见问题
为什么发布页还是显示内网地址?
通常是系统地址没有保存成功,或者页面仍在使用旧缓存。先重新保存配置并刷新页面,再检查发布页链接是否更新。
配置系统地址后,后台访问地址会被一起改掉吗?
不会。系统地址主要影响发布页生成的答题链接和二维码展示。后台是否走内网,仍由你的部署域名和网关配置决定。