목차 열기
티스토리 뷰
728x90
반응형
리버스프록시와 포워드 프록시 차이
Apache로 리버스 프록시 구성하다가 permission Denied 뜨고 며칠 동안 해결도 못하고 구글에는 Selinux 답변만 많아서 nginx를 사용했더니 바로 된다.... 더 빨리 시도해볼 걸 하면서도 이제라도 되어서 다행..
하여튼
리버스 프록시 작동 확인 -> ssl(https) 적용 확인 순으로 진행한다.
리버스 프록시 작동 확인
unlink /etc/nginx/sites-enabled/default
// Default Virtual host 해제
vi /etc/nginx/sites-available/reverse-proxy.conf
/----------------------------------------------------------
server {
listen 80;
listen [::]:80;
server_name [도메인];
access_log /var/log/nginx/reverse-access.log;
error_log /var/log/nginx/reverse-error.log;
location / {
proxy_pass http://[내부 IP]:[포트];
}
}
/----------------------------------------------------------
sudo service nginx reload
curl http://[도메인]
// curl 후, Permission Denied 등 이상한 오류가 뜨면 안 된다. (아파치의 악몽...)
// 만약 오류가 뜬다면,
// vi /etc/nginx/nginx.conf
// user nginx 부분을 root로 바꾼다.
ln -s /etc/nginx/sites-available/reverse-proxy.conf /etc/nginx/sites-enabled/reverse-proxy.conf
// sites-enabled에 추가
nginx -t
// 적용 검사
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
접속 성공!
참고: https://velog.io/@prayme/ubuntu%EC%97%90%EC%84%9C-
nginx-reverse-proxy-%EC%84%A4%EC%A0%95%ED%95%98%EA%B8%B0
SSL (HTTPS) 적용 + 서브 도메인 연결 예시
server {
listen 80;
listen [::]:80;
server_name [도메인];
location / {
return 301 https://[도메인]$request_uri;
}
}
server {
listen [::]:443 ssl ipv6only=on;
listen 443 ssl;
server_name [도메인];
ssl_certificate /etc/letsencrypt/live/[도메인]/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/[도메인]/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
location ~ /\.ht {
deny all;
}
}
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name db.[도메인];
ssl_certificate /etc/letsencrypt/live/[도메인]/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/[도메인]/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
access_log /var/log/nginx/db-access.log;
error_log /var/log/nginx/db-error.log;
location / {
proxy_pass http://[내부 IP]:[포트];
}
}
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name nas.[도메인];
ssl_certificate /etc/letsencrypt/live/[도메인]/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/[도메인]/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
access_log /var/log/nginx/nas-access.log;
error_log /var/log/nginx/nas-error.log;
location / {
proxy_pass http://[내부 IP]:[포트];
}
}
728x90
반응형
'Server > Linux' 카테고리의 다른 글
Linux / INDEX (0) | 2021.01.30 |
---|---|
[Linux] Let's encrypt로 HTTPS 구성하기! (0) | 2021.01.30 |
[Linux] Freenom 도메인을 업데이트(DDNS) 해보자 (0) | 2021.01.30 |
[Linux] Duck DNS로 IP 없이 접속하기! (0) | 2021.01.30 |
[Linux] 서버 전체 백업하기 / 복원하기 (0) | 2021.01.24 |
[Ubuntu] 고정 IP 설정하기 (0) | 2021.01.20 |
[Ubuntu] SSH로 원격 접속 / 포트 변경 / 설치부터 방화벽 설정 (0) | 2021.01.17 |
댓글