728x90
node-red 컨테이너의 docker-compose.yml
메모리는 강제로 128m 정도로 줄여놓았다.
version: "3.3"
services:
node-red:
image: nodered/node-red:latest
container_name: nodered
volumes:
- nodered_data:/data
restart: always
deploy:
resources:
limits:
memory: 128m
ports:
- "1880:1880"
restart: always
deploy:
resources:
limits:
memory: 128m
volumes:
nodered_data: {}
nginx 컨테이너의 docker-compose.yml
아래 링크를 통해 구성: https://velog.io/@zero-black/Docker-compose-certbot-nginx-로-SSL-인증서-발급하기
nginx.conf 의 설정
server {
listen 80;
server_name example.com;
location / {
return 301 https://$host$request_uri;
}
location /.well-known/acme-challenge/ {
allow all;
root /var/www/certbot;
}
}
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
location / {
proxy_pass http://nodered:1880;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}
}
특이사항 설명
- 80 은 그냥 443 redirect용
- 443 쪽에 인증서는 위에 있는 링크를 참조하여 작성함. example.com 은 개인별 도메인으로 변경 할 것
let's encrypt를 안쓰고 사설로 하거나 80 쓸거면 80쪽에 proxy_pass 관련 정보를 넣으면 된다.
- proxy_http_version 부터 그 아래가 중요한데,
web_socket으로 통신하는 node-red의 경우 해당 설정을 통해 web_socket 통신을 nginx 에서 지원하게 해 줘야 하기 때문이다. (이 부분 때문에 한시간 가량을 찾는데 소비하였었음. 찾다가 잘 안나와서 살펴보니 웹소켓 문제라서 웹서켓 nginx에서 열어주는 방법을 찾아서 해결 함)
728x90
'IT > OS|Network|Script' 카테고리의 다른 글
라즈베리 파이 - VPN Server 구축 (1) | 2024.02.10 |
---|---|
윈도우11 업데이트 후 한글 입력이 안되는 현상 (1) | 2023.10.15 |
jupyter lab 사용 시 기본 세팅 (1) | 2023.09.14 |
Python config.ini 보다 입력받은 옵션을 더 우선시 하기 (0) | 2023.09.14 |
[AWK] Giga, Kilo, Mega 변환해서 보여주기 (0) | 2023.09.14 |