在Ubuntu上配置OpenSSL通常涉及以下步骤:
sudo apt update
sudo apt install openssl libssl-dev
安装完成后,可以通过以下命令验证OpenSSL是否正确安装以及其版本:
openssl version
如果需要配置OpenSSL的环境变量,可以编辑用户的shell配置文件(如 .bashrc
或 .zshrc
):
export PATH=/usr/local/openssl/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/openssl/lib:$LD_LIBRARY_PATH
然后,使配置生效:
source ~/.bashrc
或者,对于 .zshrc
:
source ~/.zshrc
如果你需要一个自签名证书,可以使用以下命令:
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365
这个命令会生成一个有效期为365天的自签名证书,并将私钥保存到 key.pem
,证书保存到 cert.pem
。
sudo apt install nginx
sudo openssl req -x509 -newkey rsa:4096 -keyout /etc/ssl/private/nginx-selfsigned.key -out /etc/ssl/certs/nginx-selfsigned.crt -days 365
/etc/nginx/sites-available/default
):sudo nano /etc/nginx/sites-available/default
添加以下内容:
server {
listen 443 ssl;
server_name your_domain.com;
ssl_certificate /etc/ssl/certs/nginx-selfsigned.crt;
ssl_certificate_key /etc/ssl/private/nginx-selfsigned.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers 'HIGH:!aNULL:!MD5';
root /var/www/html;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
error_log /var/log/nginx/error.log;
access_log /var/log/nginx/access.log;
}
server {
listen 80;
server_name your_domain.com;
return 301 https://$host$request_uri;
}
sudo ln -s /etc/nginx/sites-available/default /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
sudo apt install apache2
sudo a2enmod ssl
sudo openssl req -x509 -newkey rsa:4096 -keyout /etc/ssl/private/apache-selfsigned.key -out /etc/ssl/certs/apache-selfsigned.crt -days 365
/etc/apache2/sites-available/default-ssl.conf
):sudo nano /etc/apache2/sites-available/default-ssl.conf
添加以下内容:
<VirtualHost *:443>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
SSLEngine on
SSLCertificateFile /etc/ssl/certs/apache-selfsigned.crt
SSLCertificateKeyFile /etc/ssl/private/apache-selfsigned.key
SSLCipherSuite HIGH:!aNULL:!MD5
<Directory /var/www/html>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
sudo a2ensite default-ssl
sudo systemctl restart apache2
请注意,具体的命令和步骤可能会根据不同的Linux发行版和OpenSSL版本有所变化。建议查阅相关发行版的官方文档以获取最准确的安装指南。