HAProxy에 이어 Nginx Proxy Manager를 설치하고 설정한다.
Nginx Proxy Manager
요청 헤더 수정 및 응답 버퍼링 미세 조정을 지원하여 HTTP 및 기타 프로토콜에 대한 역방향 프록시
진행 순서
- NPM 설치
- server에 대해 proxy 구성 - HTTP/HTTPS
구성 환경
client
proxy server - nginx proxy manager(docker)
server - nginx
NPM 설치
nginx proxy manager는 docker로 설치하기를 권장하고 있다.
$ vi docker-compose.yml
$ cat docker-compose.yml
version: '3.8'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: unless-stopped
ports:
- '80:80'
- '81:81'
- '443:443'
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
$ sudo docker compose up -d
web page 접속
첫 로그인 계정
admin@example.com
changeme
Proxy 구성
client
/etc/hosts
$ cat /etc/hosts
127.0.0.1 localhost
<proxy server ip> npm.example.com
...
HTTP
destination에는 server ip와 port를 적어주면 된다.
HTTPS
openssl을 이용해 key와 crt 생성
$ sudo apt install openssl
$ sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/npm_selfsigned.key -out /etc/ssl/certs/npm_selfsigned.crt
Generating a RSA private key
...............+++++
..............................+++++
writing new private key to '/etc/ssl/private/npm_selfsigned.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:US
State or Province Name (full name) [Some-State]:New York
Locality Name (eg, city) []:New York City
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:<proxy server ip>
Email Address []:
만들어진 key와 crt를 web page ssl 인증에 등록
이후 proxy host에도 적용해주면 된다.
확인
아래는 http와 https 모두 동일하게 진행
client에서 확인
$ curl npm.example.com
//http
$ curl -k https://npm.example.com
//https
'Study > Network' 카테고리의 다른 글
[Network] Sendmail 메일 서버 구축 + DNS 서버 연결 (0) | 2024.08.09 |
---|---|
[Network]FTP 서버 구축 (0) | 2024.08.03 |
[Network]HAProxy 설치 및 설정 (0) | 2024.07.30 |
[Network]SCAN(스캔) 공격 (0) | 2024.07.09 |
[Network]DNS(Domain name System) (0) | 2023.06.14 |