도커 VHost의 리버스 프록시로서의 Nginx
현재 자체 웹 서버/서비스를 구축하려고 하는데 다음과 같은 것을 설정하려고 합니다.
- 메인 "블로그"용 워드프레스
- Git 저장소용 Gitlab
- 데이터 스토리지를 위한 자체 클라우드
Docker를 사용하여 웹 서버의 포트:81에 매핑하여 완벽하게 작동하는 작은 gitlab을 실행하고 있습니다.
도커 이미지는 항상 특정 포트 번호에 바인딩되어 있기 때문에 기억하기가 쉽지 않기 때문에 다음과 같은 작업을 하고 싶습니다.
git.mydomain.com for gitlab
mydomain.com (no subdomain) for my blog
owncloud.mydomain.com for owncloud
제가 알기로는 nginx를 사용하기로 한 이 경우 리버스 프록시가 필요합니다.그래서 이렇게 세팅해놨어요.
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name mydomain.com;
location / {
proxy_pass http://localhost:84;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
server {
listen 80;
server_name git.mydomain.com;
location / {
proxy_pass http://localhost:81;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
이렇게 하면 git.mydomain.com을 완벽하게 실행하고 있지만 워드프레스에 빈 웹페이지만 표시됩니다.내 DNS는 다음과 같이 설정됩니다.
Host Type MX Destination
* A IP
@ A IP
www CNAME @
내가 너무 멍청해? 아님 무슨 일이야?
당신의 질문이 Nginx 프록시 설정에 관한 것이라는 것을 알고 있습니다만, 이러한 도커 컨테이너를 역프로그래밍하기 위한 설정을 자동적으로 전개하는 Nginx 도커 컨테이너의 셋업 방법에 대한 자세한 링크를 제공하는 것이 도움이 될 것이라고 생각합니다.즉, 역방향 프록시를 실행한 후 다른 컨테이너를 실행하면 Nginx 컨테이너는 호스트 이름을 기반으로 트래픽을 다른 컨테이너로 라우팅합니다.
기본적으로 프록시 컨테이너를 풀링하여 에 설정된 몇 가지 파라미터를 사용하여 실행합니다.docker run
명령을 누른 다음 프록시할 다른 컨테이너를 불러옵니다.도커를 설치하고 nginx-proxy 이미지를 가져오면 프록시를 시작하기 위해 사용하는 특정 명령어는 다음과 같습니다.
docker run -d --name="nginx-proxy" --restart="always" -p 80:80 \ -v /var/run/docker.sock:/tmp/docker.sock jwilder/nginx-proxy
이제 프록시가 실행 중입니다.주소를 브라우저로 가리키면 Nginx 502 또는 503 오류가 반환됩니다.아직 아무것도 듣고 있지 않기 때문에 오류가 발생합니다.다른 컨테이너를 부팅하는 것은 매우 쉽습니다. 다음과 같습니다.
docker run -d --name="example.com" --restart="always" \ -e "VIRTUAL_HOST=example.com" w3b1x/mywebcontainer
그거-e "VIRTUAL_HOST=example.com"
Nginx 프록시 라우팅 트래픽을 시작하는 컨테이너로 전송하기만 하면 됩니다.
Docker를 시작할 때부터 이 방법을 사용해 왔습니다.이런 상황에서는 매우 편리합니다.링크된 기사에는 단계별 설명과 필요한 모든 정보가 나와 있습니다.자세한 정보(특히 이 셋업에서의 SSL 실장에 관한 정보)가 필요한 경우는, 이 소프트웨어의 git 저장소를 확인해 주세요.
정상으로 nginx 설정은 nginx를 누르고 .localhost:xx
이렇게 해야 요.gatewayip:xx
더 나은 ★★★★★★★★★ ★★★★target_private_ip:80
.
를 쉽게 할 수 있는 를 이 your your your your your로 입니다.--link
스크립트를 "nginx하여 "origin" "inginx"를 "ip"로 설정합니다.sed -i
환경으로부터 얻을 수 있는 가치를 가지고 있습니다.
언급URL : https://stackoverflow.com/questions/26816076/nginx-as-reverse-proxy-for-docker-vhosts
'programing' 카테고리의 다른 글
PL/SQL에서 동적 SELECT INTO 절과 함께 바인드 변수 사용 (0) | 2023.03.19 |
---|---|
테이블 내의 행에서 ng-repeat 및 ng-class 사용 (0) | 2023.03.19 |
int에 주조 플라스크 양식 값 (0) | 2023.03.14 |
포스트 복제 방지 (0) | 2023.03.14 |
JavaScript를 사용하여 서버에 텍스트 파일 저장 (0) | 2023.03.14 |