2017-12-11 18 views
0

Nginx 구성에 문제가 있습니다. 내 server_name을 설정할 수 없습니다. 내부에 Nginx 구성으로 도커 컨테이너를 만들려고했습니다.Nginx Docker가 server_name을 (를) 통해 서버에 액세스하지 못했습니다.

본문은 Dockerfile입니다.

FROM nginx 

RUN rm -rf /etc/nginx/conf.d/* 

RUN mkdir /etc/nginx/ssl 
RUN chown -R root:root /etc/nginx/ssl 
RUN chmod -R 600 /etc/nginx/ssl 
COPY etc/ssl/certs/qwobbleprod.crt /etc/nginx/ssl 
COPY etc/ssl/certs/app.qwobble.com.key /etc/nginx/ssl 

COPY nginx/default.conf /etc/nginx/conf.d/ 

COPY dist /usr/share/nginx/html 

EXPOSE 443 

Nginx 구성 파일 ->

server { 
    listen  443 ssl default_server; 
    root  /usr/share/nginx/html; 

    server_name blabla.com www.blabla.com; 

    access_log /var/log/nginx/nginx.access.log; 
    error_log /var/log/nginx/nginx.error.log; 

    ssl on; 
    ssl_certificate /etc/nginx/ssl/blabla.crt; 
    ssl_certificate_key /etc/nginx/ssl/blabla.com.key; 

    sendfile on; 

    location/{ 
    try_files $uri /index.html =404; 
    } 

    location ~* \.(js|css|png|jpg|jpeg|gif|ico|html)$ { 
    expires max; 
    log_not_found off; 
    } 

} 

내가 그 결과 내 고정 표시기 컨테이너

docker build -t <name> . 
docker run -it -p 443:443 <name> 

을 구축하고 실행하려고, 나는 https://localhost:443 하지만 난 내 응용 프로그램을 https://blabla.com:443 또는 https://www.blabla.com:443

을 통해 내 앱에 액세스 할 수 없습니다.

나는 DockerNginx으로 작업하는 초보자이며, 무엇이 잘못되었는지 전혀 모른다. 나는 어떤 도움에 감사 할 것이다!

+0

하나의 사이트 만 호스팅하므로 서버 이름은 중요하지 않습니다. 443은 포트에 대한 모든 요청이 도커와 nginx 내부로 들어가기 때문에 이미 '수신 대기'상태입니다. nginx이 기본 사이트에 표시됩니다. –

답변

0

이 경우 나는 실제로 blabla.com 도메인이 필요하고 dns (Domain Name Service)가 외부 IP 주소를 가리켜 야한다고 예상합니다.

포트 443에서 연결을 허용하고 실제로 실행중인 포트에서 도커 이미지를 실행하는 컴퓨터를 가리키는 (포트 포워딩) 라우터를 구성해야합니다.

도커가 실행되는 컴퓨터에서 방화벽 설정을 열어야 할 수도 있습니다.

https를 듣고 싶으므로 인증서가 필요합니다.

또는 가짜하려는 경우 (맥 또는 리눅스 /etc/hosts에) 당신의 hosts 파일을 편집하고 같은 항목을 추가 할 수 있습니다

## 
# Host Database 
# 
# localhost is used to configure the loopback interface 
# when the system is booting. Do not change this entry. 
## 
127.0.0.1 localhost 
255.255.255.255 broadcasthost 
::1    localhost 

127.0.0.1 blabla.com 

을하지만 지금 blabla.com 만 컴퓨터에서 작동합니다 ..

희망 하시겠습니까?