docker安装nginx并使用https

580 阅读1分钟

前言

整了个微服务,老大说https跨域一直有问题,wtf?这个东西我都写过多少遍了,我感觉是他做的nginx跳转有问题,但是咱也不敢说啊,自己用nginx测一下呗。

部署

我采用的是compose的安装方式,服务器是百度云的

cd /
mkdir compose
cd compose 
touch docker-compose.yml
vim docker-compose.yml

docker-compose.yml文件

version: '2.0'
services:
  nginx:
    image: nginx
    container_name: nginx
    volumes:
     - ./conf.d:/etc/nginx/conf.d/
     - ./www:/www 
     - ./cert:/etc/nginx/cert 
    ports:
     - "80:80"
     - "443:443"

我将conf.d跟cert目录放在docker-compose相同路径下,然后将我的ssl key文件放到cert目录下 例如:

然后去编写配置文件

cd ../conf.d
touch default.conf
vim default.conf

default.conf:

server {
        listen 443;
        server_name sudooom.com;
        ssl on;
        root html;
        index index.html index.htm;
        ssl_certificate   cert/sudooom.com.crt;
        ssl_certificate_key  cert/sudooom.com.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;
        ssl_prefer_server_ciphers on;
        location /  {
            proxy_pass http://x.x.x.x:10003 ;##填需要跳转的ip
           # add_header Access-Control-Allow-Origin * ;
        }
}

启动

docker-compose up -d

测试

错的果然不是我,是体制的错,是社会的错,是地球的错!!!