Linux https搭建
时间: 2025-03-10 21:08:41 浏览: 33
### HTTPS服务配置与部署
#### 安装必要的软件包
为了在Linux服务器上成功配置和部署HTTPS,需要先确保已安装Nginx以及相关依赖项。如果尚未安装Nginx,则可以通过包管理器来完成这一操作。
对于基于Debian的系统(如Ubuntu),可执行如下命令:
```bash
sudo apt update && sudo apt install nginx -y
```
对于基于RedHat的系统(如CentOS),则应使用yum或者dnf工具:
```bash
sudo yum install epel-release -y
sudo yum install nginx -y
```
#### 获取SSL证书
获取有效的SSL/TLS证书是实现安全通信的关键一步。这通常涉及向受信任的证书颁发机构(CA)申请证书。不过,在测试环境中也可以创建自签名证书作为替代方案:
```bash
openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
-keyout /etc/nginx/ssl/nginx-selfsigned.key \
-out /etc/nginx/ssl/nginx-selfsigned.crt
```
此命令将在`/etc/nginx/ssl/`路径下生成一对私钥文件(`nginx-selfsigned.key`)和公钥证书(`nginx-selfsigned.crt`)[^3]。
#### 修改Nginx配置支持HTTPS
编辑站点特定的Nginx配置文件以启用SSL模块和支持HTTPS协议。假设该文件位于`/etc/nginx/conf.d/default.conf`或类似的子目录中。以下是修改后的典型配置片段示例:
```nginx
server {
listen 443 ssl;
server_name your_domain_or_IP;
ssl_certificate /etc/nginx/ssl/nginx-selfsigned.crt; # 替换为实际位置
ssl_certificate_key /etc/nginx/ssl/nginx-selfsigned.key; # 同样替换为实际位置
location / {
proxy_pass http://localhost:port_number; # 如果代理到其他应用,请指定端口
try_files $uri $uri/ =404;
}
}
```
记得调整`your_domain_or_IP`、`proxy_pass`目标URL以及其他任何地方可能存在的占位符变量以匹配实际情况。
#### 开启防火墙规则允许外部访问
为了让外界能够通过互联网正常访问网站,还需开放相应的网络端口。具体来说就是允许TCP流量进入第80号(用于HTTP)和443号(专供HTTPS使用的默认端口号)这两个标准Web服务监听端口中去:
```bash
sudo ufw allow 'Nginx Full' # 这会同时打开 HTTP 和 HTTPS 流量
# 或者单独控制两者之一
sudo ufw allow 80/tcp comment 'Allow incoming HTTP traffic'
sudo ufw allow 443/tcp comment 'Allow incoming HTTPS traffic'
```
最后重启UFW服务使更改生效,并验证状态确已被正确设置好。
#### 应用新配置并检验成果
保存所做的全部改动之后,务必让新的设定立即起效。为此需重载而不是完全停止再启动整个Nginx进程,以免造成不必要的停机时间影响用户体验:
```bash
sudo systemctl reload nginx
```
此时应该已经能够在浏览器里输入https://加上对应的域名/IP地址组合来进行加密浏览了!
阅读全文
相关推荐



















