話說現在的網站都要有 https 沒有那個 s 好像犯天條似的,即使是在內網也要搞個 s 來玩玩,如果你已經當了勇者把伺服器放上公網,也歡迎你分享設定,肯定香啊~,做為一個膽小時間又少的使用者,還是來設一下 s 吧!
工作環境:
debian linux
docker
immich
nginx(做為反向代理用)
反向代理有很多選項,試了很多沒遇上好運,回頭用了最基本的 nginx,或許下次可以試試 caddy 吧
首先,開2個 docker 的網路並且設定
docker network create inner_network
docker netowrk create reverse_proxy_network
在開始設定之前,記得把之前的 immich-app 停下來
設定一下 docker-compose.yml :進到你的 immich-app/docker-compose.yml 把每個 service 的 networks 改一下
如果 service 名稱是 immich 開頭的:
networks:
- inner_network
- reverse_proxy_network
其他的
networks:
- inner_network
networks 的總述
networks:
proxy:
driver: bridge
internal:
driver: bridge
引用 nginx:
nginx:
container_name: nginx
hostname: nginx
image: nginx:latest
environment:
- TZ=${TZ}
volumes:
- ./nginx:/etc/nginx/
ports:
- "80:80"
- "443:443"
networks:
- reverse_proxy_network
depends_on:
- immich-server
restart: always
準備一下簽證的檔案放在 immich-app/nginx/ssl 裏
#這次用這個 generate cert for local network 基本上 local 端的網路是用自簽的,當然也可以找一些本地用的 acme 工具自動化
openssl req -x509 -newkey rsa:2048 -keyout lan.key -out lan.crt -days 365 -subj "/CN=*.lan" -nodes
#generate cert 然後要送簽證,外網用的,當然你可以用一些 acme 工具自動化
openssl req -new -newkey rsa:2048 -nodes -keyout lan.key -out lan.csr -subj "/CN=*.lan
設定一下 nginx.conf 放在 immich-app/nginx 裏
events {
worker_connections 1024;
}
http {
server {
listen 80;
server_name <VAR_SERVER_NAME>;
return 301 https://$host$request_uri; #uri 不是 url
}
server {
listen 443 ssl; # http2 放這裏會出現 deprecated 錯誤
http2 on;
server_name <VAR_SERVER_NAME>;
client_max_body_size 50000M;
# 本地網路自發簽證檔
ssl_certificate /etc/nginx/ssl/lan.crt;
ssl_certificate_key /etc/nginx/ssl/lan.key;
location / {
#proxy_pass http://immich-server:3001; # curl: (6) Could not resolve host: immich.local
proxy_pass http://<VAR_SERVER_NAME>:2283
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forward_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 90;
}
}
}
重新啟用 immich-app
如果設定完成,這次你連到 http://your.local.name 使用你的 immich-app 網頁它會自動轉到 https://your.local.name
還記得這個 service 的特點嗎?它有手機的 app ,雖然試到目前沒辦法用 https://your.local.name 連到你的 immich-app,但是至少,它能 https://your.local.ip 連到你的 immich-app 了
記得先去把允許自發簽證選設打開哦:
app > Settings > Advanced > Allow self-signed SSL certificates > 打開
話說,搞個 s 牌的 NAS 是不是花錢享受啊……
收工!
=============================================
如果登入網站收到新版本 immich-app 發布想要更新
docker compose pull && docker compose up -d
留言
張貼留言