在 Linux 上配置 PgAdmin 以使用 SSL 涉及生成自簽名證書和配置 Apache(如果使用 Apache 作為后端服務器)來使用這些證書。以下是一個基本的步驟指南:
安裝 OpenSSL(如果尚未安裝):
對于 Debian/Ubuntu:
sudo apt-get install openssl -y
對于 CentOS/RHEL:
sudo yum install openssl -y
生成私鑰:
openssl genpkey -algorithm rsa -out private.key -aes256
系統會提示設置私鑰的密碼。
生成證書簽名請求 (CSR):
openssl req -new -key private.key -out csr.csr
系統會提示需要輸入私鑰的密碼,還有提示輸入國家、省份、城市、組織等信息。
生成自簽證書:
openssl x509 -req -days 365 -in csr.csr -signkey private.key -out certificate.crt
-days 365 表示證書有效期為 365 天。會提示輸入一下私鑰密碼。
驗證證書:
openssl x509 -in certificate.crt -text -noout
如果你使用 Apache 作為后端服務器,可以按照以下步驟配置 SSL:
創建 SSL 配置文件(例如 /etc/apache2/sites-available/ssl.conf
):
<VirtualHost *:443>
ServerAdmin webmaster@localhost
DocumentRoot /usr/share/pgadmin/html
SSLEngine on
SSLCertificateFile /path/to/certificate.crt
SSLCertificateKeyFile /path/to/private.key
SSLCertificateChainFile /path/to/ca_bundle.crt # 如果需要的話
<Directory /usr/share/pgadmin/html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
啟用 SSL 模塊:
sudo a2enmod ssl
重啟 Apache:
sudo systemctl restart apache2
編輯 PgAdmin 配置文件(通常是 /etc/pgadmin/pgadmin.conf
或 /etc/pgadmin/pgadmin4.conf
):
[server]
listen_port = 5432
listen_ssl = true
ssl_cert_file = /path/to/certificate.crt
ssl_key_file = /path/to/private.key
重啟 PgAdmin 服務:
sudo systemctl restart pgadmin
請注意,上述步驟中的路徑需要根據你的實際情況進行調整。此外,如果你使用的是 Nginx 作為反向代理,配置方式會有所不同,需要編輯 Nginx 的配置文件并配置 SSL 證書和密鑰。