bugzilla生成证书并配置 HTTPS访问

配置步骤与示例

  1. 设置基础 URL (urlbase和 sslbase)
    这是最重要的配置,直接影响所有链接和重定向功能。
bash 复制代码
urlbase(普通访问地址): http://172.16.104.225/(根据您的服务器 IP)
sslbase(加密访问地址): https://172.16.104.225/(如果您配置了 SSL 证书)
  1. 启用 SSL 重定向
    如果您已配置 HTTPS 并希望强制使用安全连接:

先正确设置 sslbase为 HTTPS 地址

然后勾选 ssl_redirect​ 复选框

bash 复制代码
保存后,访问 http://您的地址将自动跳转到 https://您的地址
  1. 保存配置
    完成修改后,滚动到页面底部,点击 "保存更改"(或类似按钮)使配置生效。
    💡 配置验证与注意事项

验证配置:保存后,在浏览器中访问您设置的 urlbase地址,确保能正常打开 Bugzilla 首页。

HTTPS 前置要求:启用 ssl_redirect前,请确认您已在 Web 服务器(如 Apache)上正确配置 SSL 证书。

路径一致性:确保 urlbase和 sslbase的路径部分完全一致(如都包含 /bugzilla/)。

1.1 首先生成自签名证书

bash 复制代码
# 创建证书存放目录
sudo mkdir -p /etc/ssl/private
sudo mkdir -p /etc/ssl/certs

# 生成自签名证书(所有提示直接按回车即可)
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
    -keyout /etc/ssl/private/bugzilla-selfsigned.key \
    -out /etc/ssl/certs/bugzilla-selfsigned.crt

# 设置正确的文件权限
sudo chmod 600 /etc/ssl/private/bugzilla-selfsigned.key
bash 复制代码
生成证书时会出现一些提示,可以这样填写:
Country Name (2 letter code) [XX]: CN
State or Province Name (full name) []: Beijing
Locality Name (eg, city) [Default City]: Beijing
Organization Name (eg, company) [Default Company Ltd]: YourCompany
Organizational Unit Name (eg, section) []: IT
Common Name (eg, your name or server's hostname) []: 17.16.104.225​ (重要:这里填您的IP地址)
Email Address []: admin@yourcompany.com (邮件地址)

1.2. 验证证书是否生成成功

检查证书文件是否已创建:

bash 复制代码
ls -la /etc/ssl/certs/bugzilla-selfsigned.crt
ls -la /etc/ssl/private/bugzilla-selfsigned.key

应该能看到类似这样的输出:

bash 复制代码
-rw-r--r-- 1 root root 1234 Dec 25 17:20 /etc/ssl/certs/bugzilla-selfsigned.crt
-rw------- 1 root root 5678 Dec 25 17:20 /etc/ssl/private/bugzilla-selfsigned.key

1.3配置 Apache SSL 虚拟主机

1.3.1编辑配置文件

bash 复制代码
sudo vi /etc/httpd/conf.d/bugzilla.conf

1.3.2修改配置:

bash 复制代码
# HTTP 自动重定向到 HTTPS
<VirtualHost *:80>
    ServerName 172.16.104.225
    DocumentRoot /var/www/html
    Redirect permanent /bugzilla/ https://172.16.104.225/bugzilla/
</VirtualHost>

# HTTPS 虚拟主机配置
<VirtualHost *:443>
    ServerName 172.16.104.225
    DocumentRoot /var/www/html

    # 添加别名映射 - 这是关键修改!
    Alias /bugzilla/ "/var/www/html/bugzilla/"

    # SSL 配置
    SSLEngine on
    SSLCertificateFile /etc/ssl/certs/bugzilla-selfsigned.crt
    SSLCertificateKeyFile /etc/ssl/private/bugzilla-selfsigned.key

    <Directory "/var/www/html/bugzilla">
        AddHandler cgi-script .cgi
        Options +ExecCGI +FollowSymLinks
        DirectoryIndex index.cgi index.html
        Options -Indexes
        AllowOverride All
        Require all granted
    </Directory>

    ErrorLog /var/log/httpd/bugzilla_ssl_error.log
    CustomLog /var/log/httpd/bugzilla_ssl_access.log combined
</VirtualHost>

1.3.3测试配置语法:

bash 复制代码
sudo httpd -t
#应该显示 Syntax OK

1.3.4重启Apache:

bash 复制代码
sudo systemctl restart httpd
sudo systemctl status httpd

1.3.5检查443端口状态

bash 复制代码
# 检查防火墙是否开放443端口
sudo firewall-cmd --list-all | grep https

# 如果未开放,添加443端口
sudo firewall-cmd --add-port=443/tcp --permanent
sudo firewall-cmd --reload

# 检查端口监听状态
sudo netstat -tlnp | grep :443

1.4. 解决浏览器安全警告

由于使用的是自签名证书,浏览器会显示"不安全"警告。这是正常的,您可以:

bash 复制代码
Chrome/Firefox: 点击"高级" → "继续前往"
或者将证书导入到浏览器的受信任根证书颁发机构
相关推荐
企业数字化笔记11 分钟前
AI写的网站一直自动跳转怎么办?301、302和HTTPS重定向排查
网络协议·http·https
IT摆渡者1 小时前
1panel 针对HTTP自动续签SSL网站证书
网络协议·ssl·openresty
那年窗外下的雪.1 小时前
AIDC 学习日志|第 24 天|设备输出反推与 MAC Flapping 定位
网络协议·学习·tcp/ip·http·macos·tcpdump
sugar__salt2 小时前
大模型流式输出完全指南(上):从 HTTP 长连接到手写 SSE
网络·网络协议·http
wuyk5556 小时前
【Socket 进阶之路】第 3 章 TCP 三次握手 & 四次挥手深度剖析|连接建立、断开、状态机、TIME_WAIT 核心工程问题
服务器·开发语言·网络·物联网·网络协议·tcp/ip
sibylyue17 小时前
WebSocket双向长连接传输通道
网络·websocket·网络协议
小小、码农17 小时前
C++11右值引用与移动语义 —— 从拷贝资源到转移资源
开发语言·网络·c++·网络协议
2501_9151063218 小时前
苹果App Store上架费用及流程全面解析
android·ios·小程序·https·uni-app·iphone·webview
80s77719 小时前
动态ip地址分配通常是由_动态IP与静态IP之间的区别
网络·网络协议·tcp/ip
TechVoyager_82461 天前
IT9205技术解析:4K60 HDR over IP与视频墙的单芯片实现路径
网络协议·音视频·音视频编解码·it9205·专业视听·视频墙芯片·avoverip