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: 点击"高级" → "继续前往"
或者将证书导入到浏览器的受信任根证书颁发机构
相关推荐
草根站起来2 小时前
“双算法SSL证书”伪方案、国产SSL证书营销话术与等保绑定乱象批判
网络·网络协议·ssl
江华森5 小时前
Web 开发基础:HTTP 与 REST
前端·网络协议·http
her_heart8 小时前
把 ChatGPT 5.6 放进需求评审和测试设计之后,我反而减少了“一次成稿”的期待
网络·人工智能·网络协议·chatgpt·测试用例
笺落彼岸13 小时前
SpringBoot3 JDK17集成proguard实现混淆打包
安全·https
coderhuo15 小时前
libcurl blind sleep导致的耗时问题
网络协议
treesforest15 小时前
做内容平台,IP地址精准定位和IP高精度定位查询怎么帮我们提升用户留存
网络·网络协议·tcp/ip
wang_shu_mo_ran16 小时前
网络编程(二):UDP数据报在客户端与服务端之间的传输
网络·网络协议·udp
永久鳕16 小时前
WebSocket 连接成功但行情不更新,应该先查哪几个状态?
网络·websocket·网络协议
mudtools17 小时前
HttpUtils:一个编译时生成的声明式 HTTP 客户端框架
网络·网络协议·http·.net
卖萌的斜阳1 天前
W55MH32L-EVB 上手测评:硬件 TCP/IP 加持的以太网单片机,MicroPython 零门槛开发
单片机·网络协议·tcp/ip