Задать вопрос
geometria
@geometria

Как подключить 443 порт для поддомена?

Имеется такая конфигурация сайта:
default.conf основного сайта, который работает на 443 порту
server {
    listen 80;
    server_name mysite.ru www.mysite.ru;
    return 301 https://mysite.ru$request_uri;
}
server {
    listen 443;
    server_name www.mysite.ru;
    return 301 https://mysite.ru$request_uri;
    }
server {
        #listen 80;
        #listen [::]:80;

        listen 443 ssl http2 default_server;
        listen [::]:443 ssl http2 default_server;
        server_name _;

        root /var/www/html/public;
        server_name localhost;
        index index.php index.html;

        ssl_certificate /etc/nginx/ssl/mysite.ru/mysiteru.crt;
        ssl_certificate_key /etc/nginx/ssl/mysite.ru/mysiteru.key;

        add_header X-Frame-Options "SAMEORIGIN";
        add_header X-Content-Type-Options "nosniff";
        add_header X-XSS-Protection "1; mode=block";


        location / {
            try_files $uri $uri/ /index.php?$query_string;
            gzip_static on;
        }

        location = /favicon.ico { access_log off; log_not_found off; }
        location = /robots.txt  { access_log off; log_not_found off; }

        error_page 404 /index.php;

        location ~ \.php$ {
            try_files $uri =404;
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
            fastcgi_pass php:9000;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_param PATH_INFO $fastcgi_path_info;
            include fastcgi_params;
        }

        location ~* \.(jpg|jpeg|gif|png|css|js|ico|xml)$ {
            expires max;
            add_header Cache-Control public;
            log_not_found off;
            access_log off;
            error_log off;

            add_header Last-Modified "";
            add_header ETag "";
            break;
        }

        location ~ /\. {
            log_not_found off;
            deny all;
        }

    }

docker-compose.yml основного сайта (часть)
networks:
  frontend:
    external:
      name: proxy_proxy
  laravel:

services:
  nginx:
    build:
      context: ./dockerfiles
      dockerfile: nginx.dockerfile
      args:
        - UID=${UID:-1000}
        - GID=${GID:-1000}
    environment:
      - VIRTUAL_HOST=site.docker
    ports:
      - "443:443"
      #- "80:80"
    volumes:
      - ./src:/var/www/html:delegated
      - ./nginx/ssl:/etc/nginx/ssl
      - ./dockerfiles/nginx/default.conf:/etc/nginx/conf.d/default.conf
    depends_on:
      - php
      - mysql
    networks:
      - frontend
      - laravel


конфигурация поддомена, который работает на 80 порту
server {
    listen 80;
    server_name sub.mysite.ru;

    root /var/www/sub.mysite.ru/html;
    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }
}

docker-compose.yml поддомена

services:

  gs_nginx:
    image: nginx
    container_name: gs_docker_nginx
    environment:
      - VIRTUAL_HOST=sub.mysite.ru 
    volumes:
      - ./nginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf
      - ./../:/var/www/     
      - ./nginx/logs:/var/log/nginx/
      - ./nginx/ssl:/etc/nginx/ssl
    networks:
      - frontend


конфигурация прокси, файл docker-compose.yml
services:

  proxy:
    image: jwilder/nginx-proxy
    ports:
      - 80:80
    volumes:
      - /var/run/docker.sock:/tmp/docker.sock:ro
    networks:
      - proxy

networks:
  proxy:
    driver: bridge


Подскажите алгоритм действий как правильно настроить
  • Вопрос задан
  • 83 просмотра
Подписаться 2 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 1
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
Что-то типа такого:
server {
    listen 80;
    listen 443 ssl;
    server_name sub.mysite.ru;

    ssl_certificate /etc/nginx/ssl/sub.mysite.ru/submysiteru.crt;
    ssl_certificate_key /etc/nginx/ssl/sub.mysite.ru/submysiteru.key;

    root /var/www/sub.mysite.ru/html;
    index index.html;

    location / {
        try_files $uri $uri/ =404;
    }
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы