2015-01-13 9 views
16

mam skonfigurowane pojemnik Docker aby uruchomić Nginx i konfiguracji w pliku/etc/nginx/strony-available/default jak pokazano poniżejNginx SSL wewnątrz kontenera Döcker

server 
{ 
listen 80 default_server; 
listen [::]:80 default_server ipv6only=on; 

root /usr/share/nginx/html; 
index index.php index.html index.htm; 

server_name example.com; 

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

    error_page 404 /404.html; 

    error_page 500 502 503 504 /50x.html; 
    location = /50x.html { 
      root /usr/share/nginx/html; 
    } 


    location ~ \.php$ { 
     try_files $uri =404; 
     fastcgi_split_path_info ^(.+\.php)(/.+)$; 
    fastcgi_pass unix:/var/run/php5-fpm.sock; 
    fastcgi_index index.php; 
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
     include fastcgi_params; 
} 

} 

server 
{ 
listen 443; 

root /usr/share/nginx/html; 
index index.php index.html index.htm; 

server_name example.com; 

ssl on; 
ssl_certificate /etc/ssl/certs/ssl-cert-snakeoil.pem; 
ssl_certificate_key /etc/ssl/private/ssl-cert-snakeoil.key; 


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

    error_page 404 /404.html; 

    error_page 500 502 503 504 /50x.html; 
    location = /50x.html { 
      root /usr/share/nginx/html; 
    } 


location ~ \.php$ { 
     try_files $uri =404; 
     fastcgi_split_path_info ^(.+\.php)(/.+)$; 
    fastcgi_pass unix:/var/run/php5-fpm.sock; 
    fastcgi_index index.php; 
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; 
     include fastcgi_params; 
} 


} 

mapować/etc/ssl/certs &/etc/ssl/prywatne foldery na hoście kiedy uruchomić pojemnik

docker run -dt -p 8080:443 -p 8081:80 -v /t-base/log:/var/log/nginx -v 
/etc/ssl/certs:/etc/ssl/certs -v /etc/ssl/private:/etc/ssl/private nginx 

Docker ps shows 

Up n minutes 0.0.0.0:8081->80/tcp 0.0.0.0:8080->443/tcp <container-name> 

Döcker i pliku dziennika błędów nginx wewnątrz folderu odwzorowanym/t-base/log pozostaje pusta.

docker exec -it <container-name> /bin/bash 

następnie

service nginx status 

prostu wraca i mówi, że nginx jest uruchomiony.

Wszystkie powyższe wskazują, że wszystko działa poprawnie. Jednak uważam, że o ile jestem w stanie przejść do

http://example.com:8080 

podkręca domyślną stronę

https://example.com:8081 

ma Chrome pokazuje mi swoją domyślną „sad smiley” stronę błędu. Nie widzę, co tu robię źle. Byłbym wdzięczny za każdą pomoc.

+1

polecenia run ma go w tył od twoje testy? 8080 = ssl, 8081 = nonssl. – user2105103

Odpowiedz

10

Wymieniono porty. Według tej linii poleceń -p 8080:443 -p 8081:80, należy zrobić:

https://example.com:8080 notatka to http s

i

http://example.com:8081

To powinno działać

Powiązane problemy