docker-compose安裝nginx


1.docker-compose.xml

version: '3.1'

services:
  nginx:
    restart: always
    image: registry.cn-shenzhen.aliyuncs.com/tyssq/nginx:1.19.6
    volumes:
        - ./templates:/etc/nginx/templates
        - ./ssl:/ssl
        - ./log:/var/log/nginx
    ports:
        - "80:80"
        - "443:443"
    environment:
        - NGINX_HOST=tyssq.com
        - NGINX_PORT=80 

 

2.templates文件夾下新建*.conf.template,如:showdoc.conf.template

server {
    listen       80;
    listen  [::]:80;
    server_name  域名;#請求的域名加上面的端口會進來這里

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
    
    location / {
        proxy_pass   http://IP:9001/;#外部請求:域名+端口+/
    }
    
}

 

3.配置ssl證書,ssl文件夾下放證書,emplates文件夾下新建ssl.showdoc.conf.template(可以自己看着命名)

#以下屬性中,以ssl開頭的屬性表示與證書配置有關。
server {
    listen 443 ssl;
    #配置HTTPS的默認訪問端口為443。
    #如果未在此處配置HTTPS的默認訪問端口,可能會造成Nginx無法啟動。
    #如果您使用Nginx 1.15.0及以上版本,請使用listen 443 ssl代替listen 443和ssl on。
    server_name yourdomain.com; #需要將yourdomain.com替換成證書綁定的域名。
    # root html;
    # index index.html index.htm;
    ssl_certificate /ssl/cert-file-name.pem;  #需要將cert-file-name.pem替換成已上傳的證書文件的名稱。
    ssl_certificate_key /ssl/cert-file-name.key; #需要將cert-file-name.key替換成已上傳的證書密鑰文件的名稱。
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    #表示使用的加密套件的類型。
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #表示使用的TLS協議的類型。
    ssl_prefer_server_ciphers on;
    location / {
        proxy_pass   http://IP:9001/;
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM