docker nginx https 설정 [openssl]

3513 단어 nginx
docker - compose 시작 명령
docker-compose.yml
version: '3' services:         https-nginx-server:                 image: nginx                 ports:                         - 80:80                 container_name: 'https-nginx-server'                 volumes:                         - ./conf/nginx.conf:/etc/nginx/nginx.conf                         - ./conf/conf.d:/etc/nginx/conf.d                         - ./ssl:/etc/nginx/ssl                 network_mode: 'host'
 
ps: 미리 맵 파일 디 렉 터 리 를 만 드 십시오. 
nginx.conf
user  nginx; worker_processes  1; error_log  /var/log/nginx/error.log warn; pid        /var/run/nginx.pid; events {     worker_connections  1024; } http {     include       /etc/nginx/mime.types;     default_type  application/octet-stream;     log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '                       '$status $body_bytes_sent "$http_referer" '                       '"$http_user_agent" "$http_x_forwarded_for"';     access_log  /var/log/nginx/access.log  main;     sendfile        on;     #tcp_nopush     on;     keepalive_timeout  65;     #gzip  on;     include /etc/nginx/conf.d/*.conf; }  
 
 
 
 
 
 
 
 
 
 
 
 
 
 
ssl 을 이용 하여 자체 서명 인증 서 를 설정 합 니 다.
  •  openssl 을 사용 하여 RSA 비밀 키 생 성
  • openssl genrsa -des3 -out server.key 2048
  • 인증서 서명 요청 CSR 파일 생 성
  • openssl req -new -key server.key -out server.csr
  • CA 인증서 생 성
  • openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
  • 서버 엔 드 키 안에 있 는 키 를 벗 기 면 됩 니 다
  • openssl rsa -in server.key -out server.key.unsecure

     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
    default.conf
    server {     #listen       80;     listen       443 ssl;     server_name  www.hncy.com;     ssl_certificate      /etc/nginx/ssl/server.crt;     ssl_certificate_key    /etc/nginx/ssl/server.key.unsecure;     ssl_session_cache    shared:SSL:1m;     ssl_session_timeout  5m;     # openssl 지원 형식 으로 암 호 를 지정 합 니 다.    ssl_protocols  SSLv2 SSLv3 TLSv1.2;     #ssl_ciphers  HIGH:!aNULL:!MD5;  # 암호 화 방식    ssl_prefer_server_ciphers  on;   # SSLv 3 와 TLSv 1 프로 토 콜 에 의존 하 는 서버 암 호 는 클 라 이언 트 암호 보다 우선 합 니 다.    #charset koi8-r;     #access_log  /var/log/nginx/host.access.log  main;     location / {         root   /usr/share/nginx/html;         index  index.html index.htm;     }     #error_page  404              /404.html;     # redirect server error pages to the static page /50x.html     #     error_page   500 502 503 504  /50x.html;     location = /50x.html {         root   /usr/share/nginx/html;     }     # proxy the PHP scripts to Apache listening on 127.0.0.1:80     #     #location ~ \.php$ {     #    proxy_pass   http://127.0.0.1;     #}     # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000     #     #location ~ \.php$ {     #    root           html;     #    fastcgi_pass   127.0.0.1:9000;     #    fastcgi_index  index.php;     #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;     #    include        fastcgi_params;     #}     # deny access to .htaccess files, if Apache's document root     # concurs with nginx's one     #     #location ~ /\.ht {     #    deny  all;     #}

    좋은 웹페이지 즐겨찾기