跳到主要内容

HTTPS

提示

由于 HAP 服务本身的特点,系统的访问地址变更后需另外再调整 docker-compose.yaml 配置文件

如下图所示,将 ENV_ADDRESS_MAIN 环境变量值修改为 HAP 服务的实际访问地址,重启 HAP 服务后生效

如果你的环境部署较早,可能没有 ENV_ADDRESS_MAIN 环境变量,同理修改 ENV_MINGDAO_PROTO , ENV_MINGDAO_HOST , ENV_MINGDAO_PORT 这三个的环境变量值也一样

配置参考

如果要配置 https 域名访问,需要另外添加一层代理(如:nginx)并配置好证书,然后代理到后端 HAP 服务的内网地址

以下是一个 nginx 配置 https 反向代理的示例,供参考

upstream hap {
server 服务器IP:8880; # 修改为你的 HAP 系统内网IP与端口
}

# 强制跳转到https访问
server {
listen 80;
server_name hap.domain.com; # 修改为你的 HAP 系统访问地址
rewrite ^(.*)$ https://$host$1 permanent;
}

server {
listen 443 ssl;
server_name hap.domain.com; # 修改为你的 HAP 系统访问地址
access_log /data/logs/weblogs/hap.domain.com.log main; # 日志路径可自定义
error_log /data/logs/weblogs/hap.domain.com.error.log; # 日志路径可自定义

ssl_certificate /etc/cert/fullchain.pem; # 修改为你的SSL证书文件路径
ssl_certificate_key /etc/cert/privkey.pem; # 修改为你的SSL证书私钥文件路径

underscores_in_headers on;

# 上传文件大小限制
client_max_body_size 2048m;

# 开启浏览器压缩,加速请求
gzip on;
gzip_proxied any;
gzip_disable "msie6";
gzip_vary on;
gzip_min_length 512;
gzip_comp_level 6;
gzip_buffers 16 8k;
gzip_types text/plain text/css application/json application/x-javascript application/javascript application/octet-stream text/xml application/xml application/xml+rss text/javascript image/jpeg image/gif image/png;

location / {
set $real_ip '';
if ($http_x_real_ip) {
set $real_ip $http_x_real_ip;
}
if ($http_x_real_ip = '') {
set $real_ip $remote_addr;
}
proxy_set_header X-Real-IP $real_ip;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://hap;
}

# IM 需要
location ~ /mds2 {
proxy_set_header Host $http_host;
proxy_hide_header X-Powered-By;
proxy_set_header X-NginX-Proxy true;
proxy_pass http://hap;
proxy_redirect off;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection upgrade;
}
}

如果需要保留系统原来的访问方式,并期望通过新的地址访问也正常,请参考 多访问地址配置