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: 点击"高级" → "继续前往"
或者将证书导入到浏览器的受信任根证书颁发机构
相关推荐
charlee443 小时前
使用cpp-httplib发布静态文件服务
http·mime·cpp-httplib·静态文件服务
_Orch1d3 小时前
Modbus-TCP模糊测试实战解析
网络·网络协议·tcp/ip·modbus-tcp·工控协议安全
stars-he4 小时前
FPGA学习笔记(7)以太网UDP数据报文发送电路设计(一)
笔记·网络协议·学习·fpga开发·udp
Tandy12356_5 小时前
手写TCP/IP协议栈——实现ping响应不可达
c语言·网络·c++·网络协议·tcp/ip·计算机网络
Aliex_git5 小时前
HTTP 协议发展整理
笔记·网络协议·http
GanGuaGua6 小时前
JsonRpc:手搓一个高性能Rpc服务(底座篇)
网络协议·rpc
Tandy12356_6 小时前
手写TCP/IP协议——实现ping的响应
c语言·网络·c++·网络协议·tcp/ip·计算机网络
阿拉伯柠檬6 小时前
传输层与传输层协议UDP
linux·网络·网络协议·面试·udp
代码游侠7 小时前
复习——网络编程基础
linux·服务器·网络·笔记·网络协议