这是描述所有可用隐藏站点设置的#参考指南。
所需用户等级:管理员
Discourse 中的隐藏站点设置是高级配置选项,无法通过标准管理界面访问。它们提供了额外的灵活性,用于自定义您的 Discourse 实例功能。
有关修改隐藏站点设置的更多信息,请参阅:启用隐藏站点设置。
以下是 Discourse 中所有可用隐藏站点设置的参考表。
基础设置
帮助您调整 Discourse 实例基本方面的设置:
| 站点设置 | 类型 | 描述 | 默认值 |
|---|---|---|---|
| max_category_nesting | integer | 设置允许的最大类别嵌套层级数。 | 2 |
| enable_mobile_theme | boolean | 启用特定于移动设备的主题。禁用后将在所有设备上使用响应式样式表。 | TRUE |
| enable_upload_debug_mode | boolean | 启用上传的详细日志记录,有助于调试上传问题。 | FALSE |
| default_theme_id | integer | 新用户和匿名用户使用的默认主题 ID。 | -1 |
| enable_badge_sql | boolean | 允许在管理界面中直接使用 SQL 定义徽章查询。 | FALSE |
| vapid_public_key_bytes | string | 存储用于 VAPID 认证的公钥,对于发送 Web 推送通知是必需的。 | “” |
| vapid_public_key | string | 用于 Web 推送通知 VAPID 认证的公钥。 | “” |
| vapid_private_key | string | 用于 Web 推送通知 VAPID 认证的私钥。 | “” |
| vapid_base_url | string | 为 VAPID 配置的基准 URL,用于在 Web 推送通知中声明服务器身份。 | “” |
| enable_passkeys | boolean | 启用基于 WebAuthn 的通行密钥,实现无需密码的安全用户认证。 | TRUE |
| verbose_upload_logging | boolean | 启用上传过程活动的详细日志,有助于识别和诊断文件上传问题。 | FALSE |
| verbose_auth_token_logging | boolean | 启用认证令牌过程的详细日志记录。 | FALSE |
| max_suspicious_distance_km | integer | 定义登录时连续 IP 地址之间被视为可疑的最大距离(公里)。 | 100 |
| discourse_connect_csrf_protection | boolean | 为 DiscourseConnect 认证启用 CSRF 保护。 | TRUE |
| invites_per_page | integer | 邀请页面每页显示的邀请数量。 | 40 |
| max_notifications_per_user | integer | 用户可拥有的最大通知数量,超出后旧通知将自动删除。 | 10000 |
| max_bookmarks_per_user | integer | 用户可创建的最大书签数量。 | 2000 |
发帖
自定义 Discourse 实例中的发帖功能:
| 站点设置 | 类型 | 描述 | 默认值 |
|---|---|---|---|
| show_copy_button_on_codeblocks | boolean | 在代码块中添加按钮,以便将块内容复制到用户剪贴板。 | TRUE |
| disable_watched_word_checking_in_user_fields | boolean | 禁用用户字段中的受监控词检查。 | FALSE |
| max_draft_length | integer | 设置草稿允许的最大长度。 | 150000 |
| max_drafts_per_user | integer | 用户可拥有的最大草稿数量。 | 10000 |
| group_pm_user_limit | integer | 群组私信中可包含的最大用户数。 | 1000 |
邮件
管理 Discourse 平台如何发送和接收电子邮件:
| 站点设置 | 类型 | 描述 | 默认值 |
|---|---|---|---|
| bounce_score_erode_on_send | float | 每次发送邮件时降低退信分数,以便更快地从退信中恢复。 | 0.1 |
| email_custom_template | string | 邮件的自定义 HTML 模板。仅在需要覆盖默认模板时使用。 | “” (空) |
| email_custom_css | string | 邮件样式的自定义 CSS。仅在需要覆盖默认样式时使用。 | “” (空) |
| email_custom_css_compiled | string | 邮件自定义 CSS 的编译版本。 | “” (空) |
| enable_secondary_emails | boolean | 允许用户在个人资料中添加次要电子邮件地址。 | TRUE |
| max_participant_names | integer | 群组消息电子邮件通知中显示的最大参与者名称数量。 | 10 |
文件
定义如何管理文件和上传:
| 站点设置 | 类型 | 描述 | 默认值 |
|---|---|---|---|
| max_export_file_size_kb | integer | 指定导出文件的最大大小(KB)。 | 50000 |
| export_authorized_extensions | string | 指定允许导出的文件扩展名。 | “zip” |
| secure_uploads_pm_only | boolean | 如果为 true,则仅对私信启用安全上传。 | FALSE |
| enable_s3_transfer_acceleration | boolean | 如果为 true,则启用 Amazon S3 传输加速。 | FALSE |
| s3_http_continue_timeout | integer | 等待 S3 返回 100 Continue 响应的时间(秒),超时后发送请求负载。 | 1 |
| s3_install_cors_rule | boolean | 如果为 true,则在 S3 上安装 CORS 规则以允许来自任何域名的请求。 | TRUE |
| s3_presigned_get_url_expires_after_seconds | integer | S3 对象的预签名 URL 过期时间(秒)。 | 300 |
| decompressed_theme_max_file_size_mb | integer | 主题文件解压后的最大文件大小(MB)。 | 1000 |
| decompressed_backup_max_file_size_mb | integer | 备份文件解压后的最大文件大小(MB)。 | 100000 |
| composer_media_optimization_image_resize_pre_multiply | boolean | 通过预乘 Canvas 操作中的 Alpha 通道来优化图像处理,以提高图像调整质量。 | FALSE |
| composer_media_optimization_image_encode_quality | integer | 图像优化重编码过程中使用的 JPG 编码质量。 | 0 |
| composer_media_optimization_image_resize_linear_rgb | boolean | 调整大小时使用线性 RGB 以提高图像质量。 | FALSE |
| composer_ios_media_optimisation_image_enabled | boolean | 在 iOS 设备上启用特定的图像优化策略以提高性能。 | TRUE |
| video_thumbnails_enabled | boolean | 启用为上传到论坛的视频文件生成缩略图。 | TRUE |
安全
调整安全功能以匹配论坛需求:
| 站点设置 | 类型 | 描述 | 默认值 |
|---|---|---|---|
| allow_indexing_non_canonical_urls | boolean | 允许索引非规范 URL。 | TRUE |
| non_crawler_user_agents | list | 被视为非爬虫的用户代理列表。 | "trident |
| crawler_user_agents | list | 被视为爬虫的用户代理列表。 | "rss |
| browser_update_user_agents | list | 过时浏览器的用户代理,用于显示更新消息。 | "MSIE 6 |
| crawler_check_bypass_agents | string | 可以绕过爬虫检查的用户代理。 | “cubot” |
| keep_old_ip_address_count | integer | 为每个用户保留的旧 IP 地址数量。 | 0 |
| content_security_policy_collect_reports | boolean | 启用 CSP 违规报告收集。 | FALSE |
| allow_embedding_site_in_an_iframe | boolean | 允许将网站嵌入到其他网站的 iframe 中。 | FALSE |
| send_old_credential_reminder_days | integer | 提醒旧凭证的天数。如果设置为 0,则禁用提醒。 | 0 |
| disable_onebox_media_download_controls | boolean | 禁用 Onebox 音视频嵌入中的媒体下载控件。 | FALSE |
| can_permanently_delete | boolean | 允许永久删除帖子、主题和帖子历史(即从数据库中完全删除,而不是典型的软删除机制)。 | FALSE |
| cross_origin_opener_policy_header | string | 设置跨域同源策略 (Cross-Origin-Opener-Policy) 头。可用选项:unsafe-none, same-origin, same-origin-allow-popups。 | “same-origin-allow-popups” |
Onebox
控制 Onebox 的处理方式:
| 站点设置 | 类型 | 描述 | 默认值 |
|---|---|---|---|
| force_get_hosts | list | 由于 HEAD 请求问题而强制使用 GET 请求的域名。 | us.battle.net news.yahoo.com *.medium.com |
| onebox_user_agent | string | 定义 Onebox 系统在进行 HTTP 请求时使用的用户代理字符串。如果该设置为空,则回退到 Onebox.options.user_agent 中定义的默认用户代理。 |
“” |
| inline_onebox_user_agent | string | 获取内联 Onebox 响应时使用的自定义用户代理(如果已指定)。 | “” |
速率限制
通过速率限制管理资源和安全性:
| 站点设置 | 类型 | 描述 | 默认值 |
|---|---|---|---|
| rate_limit_search_anon_global_per_minute | integer | 每分钟匿名搜索请求的全局速率限制。 | 150 |
| rate_limit_search_anon_user_per_minute | integer | 每分钟匿名搜索请求的每用户速率限制。 | 15 |
| rate_limit_search_anon_global_per_second | integer | 每秒匿名搜索请求的全局速率限制。 | 8 |
| rate_limit_search_anon_user_per_second | integer | 每秒匿名搜索请求的每用户速率限制。 | 2 |
| rate_limit_search_user | integer | 每分钟已登录用户搜索请求的每用户速率限制。 | 30 |
| max_allowed_secondary_emails | integer | 用户允许拥有的最大次要电子邮件数量。 | 10 |
| max_batch_presign_multipart_per_minute | integer | 每分钟用户可启动的批量预签名多部分操作的最大数量。 | 20 |
| max_presigned_put_per_minute | integer | 每分钟用户可启动的预签名 PUT 操作的最大数量。 | 10 |
| max_create_multipart_per_minute | integer | 每分钟用户可启动的多部分创建操作的最大数量。 | 10 |
| max_complete_multipart_per_minute | integer | 每分钟用户可启动的多部分完成操作的最大数量。 | 10 |
| max_uploads_per_minute | integer | 每分钟用户可启动的上传操作的最大数量。 | 10 |
开发者
定制开发环境:
| 站点设置 | 类型 | 描述 | 默认值 |
|---|---|---|---|
| force_hostname | string | 强制使用特定的主机名。 | “” |
| port | integer | 配置服务器监听的端口号。 | “” |
| enable_chunked_encoding | boolean | 启用服务器的分块编码响应,可能有助于处理缓冲响应的代理。 | TRUE |
| long_polling_base_url | string | 用于长轮询的基准 URL,有助于将 CDN 流量与直接站点交互分离。 | “/” |
| background_polling_interval | integer | 客户端后台轮询的频率(毫秒)。 | 60000 |
| polling_interval | integer | 已登录客户端主动轮询的频率(毫秒)。 | 3000 |
| anon_polling_interval | integer | 匿名客户端轮询服务器的频率(毫秒)。 | 25000 |
| rebake_old_posts_count | integer | 后台自动任务重新烤制的帖子数量。 | 80 |
| migrate_to_new_scheme | boolean | 切换是否将旧上传迁移到新的存储方案,主要用于更新期间。 | FALSE |
| max_new_topics | integer | 用户可创建的最大新主题数量,用于防止垃圾信息或系统过载。 | 500 |
| wizard_enabled | boolean | 启用或禁用安装后显示的设置向导。 | TRUE |
| bypass_wizard_check | boolean | 允许绕过设置向导完成检查,适用于开发者或自动化设置。 | FALSE |
| logging_provider | enum | 确定应用程序的日志框架。可以是 ‘default’ 或其他支持的框架。 | “default” |
| bootstrap_error_pages | boolean | 启用或禁用引导式样式的错误页面。有助于在错误页面上保持样式一致性。 | FALSE |
| include_associated_account_ids | boolean | 在某些输出中包含关联账户的 ID——有助于处理更关联的账户数据。 | FALSE |
| max_sidebar_section_links | integer | 每个侧边栏部分的最大链接数,控制 UI 杂乱程度和性能。 | 50 |
| instrument_gc_stat_per_request | boolean | 是否收集并记录每个 HTTP 请求的垃圾回收统计信息——有助于性能调优。 | FALSE |
| warn_critical_js_deprecations | boolean | 为管理员启用关键 JavaScript 弃用警告——有助于准备升级或修复。 | TRUE |
| warn_critical_js_deprecations_message | string | 附加到关键 JS 弃用警告的自定义消息,使通知更具信息性。 | “” |
嵌入
允许或限制内容嵌入:
| 站点设置 | 类型 | 描述 | 默认值 |
|---|---|---|---|
| embed_by_username | string | 用于嵌入内容的用户名。 | “” |
| embed_post_limit | integer | 从外部源嵌入的最大帖子数量。 | 100 |
| embed_topic_limit_per_page | integer | 嵌入主题每页显示的最大主题数量。 | 200 |
| embed_title_scrubber | string | 用于清理或修改嵌入内容标题的正则表达式。 | “” |
| blocked_embed_selectors | string | 指定要从嵌入内容中排除的元素的 CSS 选择器。 | “” |
| allowed_embed_classnames | string | 嵌入内容中允许的类名,有助于过滤内容样式。 | “emoji” |
备份
自定义备份配置:
| 站点设置 | 类型 | 描述 | 默认值 |
|---|---|---|---|
| include_s3_uploads_in_backups | boolean | 确定是否将存储在 S3 中的上传包含在站点备份中。 | FALSE |
搜索
优化 Discourse 站点内的搜索功能:
| 站点设置 | 类型 | 描述 | 默认值 |
|---|---|---|---|
| prioritize_exact_search_title_match | boolean | 优先处理标题中完全匹配搜索词的搜索结果。 | TRUE |
| max_duplicate_search_index_terms | integer | 设置搜索索引中允许的最大重复术语数量。 | 6 |
| use_pg_headlines_for_excerpt | boolean | 启用 Postgres 标题支持以生成搜索摘录。 | FALSE |
| search_max_indexed_word_length | integer | 搜索索引中单词的最大长度。 | 100 |
| search_ranking_normalization | string | 控制搜索排名的标准化以提高结果相关性。 | “0” |
| search_ranking_weights | string | 设置搜索排名计算中使用的权重因子。 | “” |
| search_recent_regular_posts_offset_post_id | integer | 在搜索结果中检索最近帖子的帖子 ID 偏移量。 | 0 |
| search_enable_recent_regular_posts_offset_size | integer | 确定搜索中考虑的最近常规帖子的数量。 | 200000 |
| category_search_priority_low_weight | float | 设置搜索结果显示中优先处理类别的较低权重。 | 0.8 |
| category_search_priority_high_weight | float | 设置搜索结果显示中优先处理类别的较高权重。 | 1.2 |
| search_page_size | integer | 搜索查询中每页的结果数量。 | 50 |
未分类
不属于其他类别的各种设置:
| 站点设置 | 类型 | 描述 | 默认值 |
|---|---|---|---|
| has_login_hint | boolean | 确定是否显示登录提示。 | FALSE |
| min_new_topics_time | integer | 创建新主题之间的最小时间间隔。 | 0 |
| general_category_id | integer | 通用类别的 ID。 | -1 |
| meta_category_id | integer | 元类别的 ID。 | -1 |
| staff_category_id | integer | 工作人员类别的 ID。 | -1 |
| uncategorized_category_id | integer | 未分类类别的 ID。 | -1 |
| backup_drafts_to_pm_length | integer | 私信中需要备份的草稿长度。 | 0 |
| view_user_route | string | 默认用户个人资料页面部分。 | “summary” |
| tos_topic_id | integer | 服务条款主题的 ID。 | -1 |
| guidelines_topic_id | integer | 指南主题的 ID。 | -1 |
| privacy_topic_id | integer | 隐私政策主题的 ID。 | -1 |
| welcome_topic_id | integer | 欢迎主题的 ID。 | -1 |
| admin_quick_start_topic_id | integer | 管理员快速入门指南主题的 ID。 | -1 |
| ios_app_id | string | iOS 应用的 App Store ID。 | “1173672076” |
| android_app_id | string | Android 应用的 Play Store ID。 | “com.discourse” |
| pwa_display_browser_regex | string | 确定 PWA 显示是否设置为“浏览器”的正则表达式。 | “a^” |
| always_include_topic_excerpts | boolean | 始终包含主题摘录。 | FALSE |
| max_bulk_invites | integer | 可能的最大批量邀请数量。 | 50,000 |
| skip_email_bulk_invites | boolean | 在批量邀请中跳过发送邮件。 | FALSE |
| max_api_invites | integer | 每个 API 请求的最大邀请数量。 | 200 |
| overridden_robots_txt | string | robots.txt 的自定义规则。 | “” |
| show_category_definitions_in_topic_lists | boolean | 在主题列表中显示类别定义帖子。 | FALSE |
| max_automatic_membership_email_domains | integer | 可能的最大自动会员电子邮件域名数量。 | 50 |
API
管理 API 在 Discourse 实例中的运行方式:
| 站点设置 | 类型 | 描述 | 默认值 |
|---|---|---|---|
| api_key_last_used_epoch | integer | 跟踪 API 密钥上次使用的纪元时间。不可直接访问或编辑。 | # 值在迁移中添加 |
| revoke_api_keys_maxlife_days | integer | API 密钥自动撤销前的天数,设置为 0 表示永不过期。 | 0 |
仪表板
调整管理员仪表板中显示的报告以及如何定义热门话题:
| 站点设置 | 类型 | 描述 | 默认值 |
|---|---|---|---|
| verbose_user_stat_count_logging | boolean | 启用用户统计计数更新的详细日志记录。 | FALSE |
| hot_topics_gravity | float | 控制热门话题计算中使用的重力设置。 | 1.2 |
| hot_topics_recent_days | integer | 定义计算热门话题分数时考虑的近几天数。 | 7 |