nginx 컨테이너를 사용해 본다 ②(액세스 제한)
IP 주소 제한
구성 파일에서 deny 또는 allow를 정의합니다.
인수는 IP 주소 또는 all이라는 문자열입니다.
IP 드레스는 CIDR로 범위 지정 가능.
deny 172.21.1.1
deny 172.21.0.0/16
allow all
즉시 설정 파일을 놀아 본다.
컨테이너 시작[ec2-user]$ docker container run -d -p 80:80 --name nginx nginx:latest
2a01374534f5997dd2b44a8422b63eccff0d6a1ce21b82aa6f6dc3b10928de89
[ec2-user]$
[ec2-user]$ docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2a01374534f5 nginx:latest "/docker-entrypoint.…" 4 seconds ago Up 3 seconds 80/tcp nginx
[ec2-user]$
설정 파일 수정root@6775ebb4074c:~# vi /etc/nginx/nginx.conf
bash: vi: command not found
root@6775ebb4074c:~#
vi가 들어 있지 않다, 넣는가?
yum도 포함되어 있지 않습니다.root@6775ebb4074c:~# yum install -y vim
bash: yum: command not found
root@6775ebb4074c:~#
yum도 들어 있지 않다,, 으~응.
번거로워졌기 때문에
호스트 측에 구성 파일을 복사해 왔습니다.
수정한 후 컨테이너 안으로 되돌리기로 했다.
마음을 다시
우선, 이하를 설정 파일에 추가해 본다.
deny all;
설정 파일 복사(호스트 ← 컨테이너)[ec2-user]$ docker container cp nginx:/etc/nginx/nginx.conf .
[ec2-user]$
설정 파일 수정vi nginx.conf
~~ 前略 ~~
http {
deny all;
include /etc/nginx/mime.types;
~~ 後略 ~~
설정 파일 복사(호스트 → 컨테이너)[ec2-user]$ docker container cp ./nginx.conf nginx:/etc/nginx/nginx.conf
[ec2-user]$
구성 파일의 오류 점검[ec2-user]$ docker container exec nginx /bin/bash -c "nginx -t"
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[ec2-user]$
컨테이너 재부팅[ec2-user]$ docker container restart nginx
nginx
[ec2-user]$ docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2a01374534f5 nginx:latest "/docker-entrypoint.…" 10 minutes ago Up 5 seconds 80/tcp nginx
[ec2-user]$
브라우저 액세스
확실히 거부되었다.
allow IP 주소;
allow로 허가 설정을 실시한다.
allow나 deny를 복수 쓴 경우는 최초로 해당한 것이 적용된다.
모처럼이므로 deny all은 남겨둔 채
그 전에 allow를 추가해 본다.
설정 파일 수정vi nginx.conf
~~ 前略 ~~
http {
allow xx.xx.xx.xx;
deny all;
include /etc/nginx/mime.types;
~~ 後略 ~~
설정 파일 복사(호스트 → 컨테이너)[ec2-user]$ docker container cp ./nginx.conf nginx:/etc/nginx/nginx.conf
[ec2-user]$
구성 파일의 오류 점검[ec2-user]$ docker container exec nginx /bin/bash -c "nginx -t"
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[ec2-user]$
컨테이너 재부팅[ec2-user]$ docker container restart nginx
nginx
[ec2-user]$ docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2a01374534f5 nginx:latest "/docker-entrypoint.…" 28 minutes ago Up 4 seconds 80/tcp nginx
[ec2-user]$
브라우저 액세스
예상대로 연결되었다.
Reference
이 문제에 관하여(nginx 컨테이너를 사용해 본다 ②(액세스 제한)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/simis/items/96d54794949892bf1fd6
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
[ec2-user]$ docker container run -d -p 80:80 --name nginx nginx:latest
2a01374534f5997dd2b44a8422b63eccff0d6a1ce21b82aa6f6dc3b10928de89
[ec2-user]$
[ec2-user]$ docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2a01374534f5 nginx:latest "/docker-entrypoint.…" 4 seconds ago Up 3 seconds 80/tcp nginx
[ec2-user]$
root@6775ebb4074c:~# vi /etc/nginx/nginx.conf
bash: vi: command not found
root@6775ebb4074c:~#
root@6775ebb4074c:~# yum install -y vim
bash: yum: command not found
root@6775ebb4074c:~#
[ec2-user]$ docker container cp nginx:/etc/nginx/nginx.conf .
[ec2-user]$
vi nginx.conf
~~ 前略 ~~
http {
deny all;
include /etc/nginx/mime.types;
~~ 後略 ~~
[ec2-user]$ docker container cp ./nginx.conf nginx:/etc/nginx/nginx.conf
[ec2-user]$
[ec2-user]$ docker container exec nginx /bin/bash -c "nginx -t"
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[ec2-user]$
[ec2-user]$ docker container restart nginx
nginx
[ec2-user]$ docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2a01374534f5 nginx:latest "/docker-entrypoint.…" 10 minutes ago Up 5 seconds 80/tcp nginx
[ec2-user]$
vi nginx.conf
~~ 前略 ~~
http {
allow xx.xx.xx.xx;
deny all;
include /etc/nginx/mime.types;
~~ 後略 ~~
[ec2-user]$ docker container cp ./nginx.conf nginx:/etc/nginx/nginx.conf
[ec2-user]$
[ec2-user]$ docker container exec nginx /bin/bash -c "nginx -t"
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[ec2-user]$
[ec2-user]$ docker container restart nginx
nginx
[ec2-user]$ docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2a01374534f5 nginx:latest "/docker-entrypoint.…" 28 minutes ago Up 4 seconds 80/tcp nginx
[ec2-user]$
Reference
이 문제에 관하여(nginx 컨테이너를 사용해 본다 ②(액세스 제한)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/simis/items/96d54794949892bf1fd6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)