Задать вопрос
  • Почему в Nuxt js в исходном коде страницы не отображается контент?

    svisch
    @svisch Автор вопроса
    Путем экспериментов мне удалось выяснить следующее. Дополняю подробности, ниже приведу код.
    Мое приложение имеет мультиязычность(рус и англ). Значение языка, параметры приложения и меню берется из бэкенда методом getMenu() в хранилище. Есть файлы переводов, которые я подключаю к компонентам и в зависимости от языка вывожу либо рус либо анг версию некой строки. Если в компоненте просто выводить переменные компоненты, то они нормально рендерятся сервером. Но в моем случае почему то компонента отрисовывается до того, как будет получено меню, и соответственно язык приложения, а следовательно и все зависимые данные от этого. Мучался с fetch в default.vue и случайным образом у меня началась рендериться страница как надо, т.е. с учетом данных бэкэенда, от которых зависит отрисовка других элементов. В default.vue отделил код комментариями со звездочками, после добавления которого все завелось, но в этом не вижу никакой логики. Если сможете объясните пожалуйста!
    Что имеем:
    store/index.js
    //import axios from 'axios'
    
    export const state = () => ({
      lang: '',
      error: {},
      message: {},
      entry:{
        nav: {
          brandLabel: {},
          brandUrl: '',
          menu: [],
        },
        userRole: '',
        appParams:{
          organization:{},
          country:{},
        }
      }
    })
    
    export const mutations = {
      setLang(state, lang) {
        state.lang=lang;
      },
      clearError(state){
        //state.error=Object.assign({});
        //if ("message" in state.error)
        state.error={};
      },
      clearMessage(state){
        state.message={};
      },
      setBrandLabel(state, val){
        state.entry.nav.brandLabel = val
      },
      setBrandUrl(state, val){
        state.entry.nav.brandUrl = val
      },
      setMenu(state, val){
        state.entry.nav.menu = val
      },
      setUserRole(state, val){
        state.entry.userRole = val
      },
      setOrganization(state, val){
        state.entry.appParams.organization = val
      },
      setCountry(state, val) {
        state.entry.appParams.country = val
      },
    }
    
    export const actions = {
      async getMenu({state, commit, $axios }){
        await this.$axios.get('menu')
          .then(response=>{
            //console.log(response.data)
            let d = response.data;
            commit('setBrandLabel', d.brandLabel)
            commit('setBrandUrl', d.brandUrl)
            commit('setMenu', d.menu)
            commit('setLang', d.lang)
            commit('setUserRole', d.userRole)
    
            commit('setOrganization', d.appParams.organization)
            commit('setCountry', d.appParams.country)
    
            //console.log(state.entry)
            return Promise.resolve(d.lang);
    
          })
          .catch(e => {
            state.error = e.response;
    
          });
        }
    }
    
    export const getters = {
      lang: state => state.lang,
      userRole: state => state.entry.userRole,
      error(state){
        if ((state.error instanceof Object) && ('message' in state.error)){
          return ('name' in state.error) ? `${state.error.name}. ${state.error.message}`.split(';') : state.error.message.split(';');
        }
        else if (JSON.stringify(state.error)=='{}' || state.error=='')
          return false;
        return [state.error];
      },
      message(state){
        if(JSON.stringify(state.message)=='{}' || state.message=='') {
          return false;
        } else return state.message;
      },
    }


    layouts/default.vue
    <template>
      <div id="app">
        <Navbar :nav="entry.nav" :lang="lang" />
        <main>
          {{test}}
          <div class='container'>
            <Nuxt />
          </div>
        </main>
      </div>
    </template>
    
    <script>
    import Navbar from '@/components/Navbar'
    import {mapState, mapActions} from 'vuex'
    import axios from 'axios'
    
    export default {
      components: {
        Navbar
      },
      data(){
        return {
          test: '',
        }
      },
      watch: {
        '$route' (to, from) {
            if (to.path.search(/^\/language/)>-1)  {
              this.changeLanguage(to,from);
            }
            this.$store.commit('clearError');
          },
      },
      computed: {
        ...mapState(['lang', 'entry']),
      },
      methods: {
        ...mapActions(['getMenu']),
        changeLanguage(to, from){
    			this.$router.replace(from.path);
    			if (this.lang!=to.params.lang)
    			{
    				this.setLang(to.params.lang);
    				this.sendLang(to.path);
    			}
    		},
    		sendLang(path){
          axios.put(path)
            .catch(e=>{
              this.$store.dispatch('setError', e);
          });
    		},
        setLang(lang){
    			this.$store.commit('setLang', lang);
    		},
      },
    
    //***************************************  после добавления этого кода начинает рендериться как надо
      async fetch() {
        const t = await fetch('http://localhost:8000/menu').then(res =>
          res.json())
      },
      asyncData() {
          return {
            name: 'Alex',
            food: 'apple'
          }
        },
    //*********************************конец странного и непонятного кода
    
      created(){
        this.getMenu()
      },
    }
    </script>


    pages/index.vue
    <template>
      <div class="home">
        <h1>front page</h1>
        <img alt="Vue logo" class='front-logo' src="../assets/logo-front.png">
        <FrontGuest v-if="userRole == 'roleGuest'" :msg = "voc.h1[lang]"/>
        <FrontUser v-if="userRole == 'roleUser' || userRole == 'roleAdmin'" :msg = "voc.h1[lang]"/>
        <div class="generate"></div>
      </div>
    </template>
    
    <script>
    import FrontGuest from '@/components/FrontPage/FrontGuest.vue'
    import FrontUser from '@/components/FrontPage/FrontUser.vue'
    import translations from '@/components/FrontPage/translations';
    
    export default {
      components: {
        FrontGuest, FrontUser
      },
      data(){
        return {
          name: 'Home',
          voc: translations,
        }
      },
      head: {
        title: 'Home page',
     
      data() {
        return {
          voc: translations,
        }
      },
      computed: {
        lang(){
          return this.$store.getters.lang;
        },
        userRole() {
          return  this.$store.getters.userRole;
        },
      },
    }
    </script>
  • Почему постоянно перекидывает на /core/install.php?

    svisch
    @svisch
    Тяжело сказать. Вы устанавливали друпал копированием файлов - хз что там могло произойти. Так уже никто не устанавливает начиная с 8ки. Настоятельно рекомендую потратить время на изучение composer - он пригодится не только с друпалом. Если вы этого не сделаете, то рано или поздно все равно столкнетесь с проблемами обновления ядра или установки модулей.
    Если на хостинге сидите - попробуйте восстановить резервную копию сайта в тот день, когда он был рабочий и запоминайте действия, которые делаете, если вдруг проблема повторится (просто так не могло по идее сломаться)
    Новая установка и замена бд на старую не сработает скорее всего (как то тоже маялся восстанавливая сайт, наверное там какое то соответствие стоит между файлами и бд в которую изначально ставится)
    И вообще идите на drupal.ru. Там все друпалеры обитают, тут мало их, по моим наблюдениям. Опишите там проблему и поясните, что ставили не компосером. Думаю там спецы дадут дельные советы.
  • Почему постоянно перекидывает на /core/install.php?

    svisch
    @svisch
    Иван Шульга, sites/default/settings.php смотрели? Настройки подключения к бд корректные?
  • Почему постоянно перекидывает на /core/install.php?

    svisch
    @svisch
    Иван Шульга, а перед этим действием что делали? как файлы на хостинг заливали? не использовали composer? вручную копировали?
  • Как проксировать запросы к бэкэнду в nuxt в dev режиме?

    svisch
    @svisch Автор вопроса
    Алексей Ярков, еще один момент - запрос происходит из store. Не знаю важно ли это)))
  • Как проксировать запросы к бэкэнду в nuxt в dev режиме?

    svisch
    @svisch Автор вопроса
    Алексей Ярков, в консоли нет никаких ошибок. Просто в интерфейс не выводится информация с api в случае с настройкой прокси '/api': 'localhost:8000/api'
  • Как проксировать запросы к бэкэнду в nuxt в dev режиме?

    svisch
    @svisch Автор вопроса
    Алексей Ярков, ну ковычки если только.... вот так '/api': 'http://localhost:8000/api'
    Почему спрашиваете серьезно ли или нет? В этом есть что то абсурдное?)
  • Почему в Nuxt js в исходном коде страницы не отображается контент?

    svisch
    @svisch Автор вопроса
    в конфиге стоит mode: 'universal',

    Создал ща другую страницу для теста - там все ок.
    Не ОК на проблемной странице может из за того, что там подключен файл с объектом для мультиязычности. Т.е. с бэкенда приходит параметр языка и в зависимости от него с этого файла с переводом подгружается переменная в шаблоне: var[lang].
    Может из-за асинхронности вся эта борода?
  • Apache2 почему не работает https?

    svisch
    @svisch Автор вопроса
    MaxKozlov, оновременно написали) выше написал почему не работал ssl - коллега помог найти)) Но вы и Vitaly Karasik указали на имеющиеся ошибки в настройках сервера. Без вас бы не заработало) Еще раз спасибо за помощь)
  • Apache2 почему не работает https?

    svisch
    @svisch Автор вопроса
    MaxKozlov, Vitaly Karasik, помимо всех вышеперечисленных ошибок в конфиге (повторялись настройки для 443) оказалось все дело вовсе не в apache, не в файерволе и не в пробросе портов, а в CMS сайта (opencart). Оказалось в конфигах сайта есть такая строчка: define('HTTPS_SERVER', 'https://site.ru/'). Так вот вместо https почему то стояло http, поэтому и не работало.
    Всем большое спасибо за помощь. Сильно помогли и расширили кругозор)
  • Apache2 почему не работает https?

    svisch
    @svisch Автор вопроса
    MaxKozlov, ну смотрите что получилось))
    С этой машины ip addr выдал только 127.0.0.1 и какой то двойной ip:
    inet 192.168.5.177/24 brd 192.168.5.255 scope global noprefixroute dynamic eno50332176

    первый и есть ip сервера в сети, естественно по нему отдает сертификат, по второму нет (connect:errno=9
    ), не знаю что это за адрес.

    Иду дальше, захожу с другой машины в этой сети и делаю openssl s_client -connect address:443 - сертификат отдает. Получается с файерволом все ок.

    Наверное все таки с dns что то или пробросом портов, а это для меня темный лес))) забыл еще упомянуть, что по домен не пингуется, на который настраиваю ssl)
  • Apache2 почему не работает https?

    svisch
    @svisch Автор вопроса
    MaxKozlov,
    1. в openssl x509 -in cert.pem -text нашел только следующие связанные с именем строки
    X509v3 Subject Alternative Name: 
                    DNS:site.ru, DNS:www.site.ru


    2. Да примерно так. Приведу полный код виртуалхост для 443
    <VirtualHost *:443>
        ServerName site.ru
        ServerAlias www.site.ru site.ru
        DocumentRoot /var/www/newstolica
        ErrorLog /var/log/httpd/newstolica-error.log
        CustomLog /var/log/httpd/newstolica-access.log combined
        SSLEngine on
        SSLCertificateFile /etc/letsencrypt/live/site.ru/cert.pem
        SSLCertificateChainFile /etc/letsencrypt/live/site.ru/chain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/site.ru/privkey.pem
    </VirtualHost>


    3. Процесс httpd

    4. адрес я думал надо домен указать))) попробовал как вы сказали openssl s_client -connect 127.0.0.1:443 вот что получилось:
    CONNECTED(00000003)
    depth=2 O = Digital Signature Trust Co., CN = DST Root CA X3
    verify return:1
    depth=1 C = US, O = Let's Encrypt, CN = R3
    verify return:1
    depth=0 CN = site.ru
    verify return:1
    ---
    Certificate chain
     0 s:/CN=site.ru
       i:/C=US/O=Let's Encrypt/CN=R3
     1 s:/C=US/O=Let's Encrypt/CN=R3
       i:/O=Digital Signature Trust Co./CN=DST Root CA X3
    ---
    Server certificate
    -----BEGIN CERTIFICATE-----
    MIIFLDCCBBSgAwIBAgISBJN1ETQOi9Wrriti2HyHTj7kMA0GCSqGSIb3DQEBCwUA
    MDIxCzAJBgNVBAYTAlVTMRYwFAYDVQQKEw1MZXQncyBFbmNyeXB0MQswCQYDVQQD
    EwJSMzAeFw0yMTAyMTYxMzIyMzJaFw0yMTA1MTcxMzIyMzJaMBYxFDASBgNVBAMT
    C3N0b2xpY2Eub29vMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAuVUV
    16lBzu9g8VtKhKopKXx5eKGagAvZg3Zeno6o17o0gc/zJ1pBEcGahyHLGFwb5Zsb
    4pin2sqTw0/eY7hV/aS8K6+ZKvK/zMJS/nmAqT/l/JUro904ltq9JZC27H1bakGp
    g8EK+QKymXcgxOVYKKNaUn4aGoIjuMcTanwdtNc8hmKFCm4QU1f4g9FVyYMZL2d3
    yVRH4ugxek19Ny8dh2wylldGztt2eeFqCepJibjDYSljG3+cGw3nUd3cibtJ6dLO
    ch2sgHsgIjavrRgUJuUtGrA1nzr3nmgZJPi2BfBChOznlQY5YqB+oWhwDRCqw/nh
    mPuKRZV/dfVofHK4nQIDAQABo4ICVjCCAlIwDgYDVR0PAQH/BAQDAgWgMB0GA1Ud
    JQQWMBQGCCsGAQUFBwMBBggrBgEFBQcDAjAMBgNVHRMBAf8EAjAAMB0GA1UdDgQW
    BBRnZRNULIuSEsCIMNH4NEe1p49BYjAfBgNVHSMEGDAWgBQULrMXt1hWy65QCUDm
    H6+dixTCxjBVBggrBgEFBQcBAQRJMEcwIQYIKwYBBQUHMAGGFWh0dHA6Ly9yMy5v
    LmxlbmNyLm9yZzAiBggrBgEFBQcwAoYWaHR0cDovL3IzLmkubGVuY3Iub3JnLzAn
    BgNVHREEIDAeggtzdG9saWNhLm9vb4IPd3d3LnN0b2xpY2Eub29vMEwGA1UdIARF
    MEMwCAYGZ4EMAQIBMDcGCysGAQQBgt8TAQEBMCgwJgYIKwYBBQUHAgEWGmh0dHA6
    Ly9jcHMubGV0c2VuY3J5cHQub3JnMIIBAwYKKwYBBAHWeQIEAgSB9ASB8QDvAHYA
    9lyUL9F3MCIUVBgIMJRWjuNNExkzv98MLyALzE7xZOMAAAF3qzik7gAABAMARzBF
    AiA6wkrfE/s9jriKumua6BcPvVnGR2qw+sgLTltZoSBDcgIhAPveoZDuCzzP/S0l
    XrEZf1jXRPVBZzBKfB2W6cEo/c+XAHUAlCC8Ho7VjWyIcx+CiyIsDdHaTV5sT5Q9
    YdtOL1hNosIAAAF3qzilDwAABAMARjBEAiB3vVgEJs/1c9Kq1fYJ7o56o7E36ri7
    6e1ZQHy7x6BAWwIgCP7Bgyk9rIrFpu5BOCKjz5SX1vazPuNG3bzDgvNOg5wwDQYJ
    KoZIhvcNAQELBQADggEBAHbdus8qcILrl5zTGNtE2tmDviZj3HpHaliDEJ2gHS7Z
    tSf7EDerrcuBQ2yqNEoK7asjYip21YScnfSe/pDOK4mIBIFWRn+0LVhNlGN7Oct4
    iCLMZ2zqduXl5QiTDsaft1wQNYD+YXuFNP69e5OvY78p3Y90x+/MvBZhQGkKD0EY
    a1QmaIHiYhJQDFnPUR59CZ8uJ7w76XCylNdgEGhBB041i1dqHXzMsWnEI9HiRVsl
    py6oKqqoU+3BPXyTwWc9q5O2ZWy2h750RET3lRPKgHc6lPq3j7YKAYqSjv7Db8ef
    o8NTaMr/lJc+fM1dbN/TL10ec/4+Q+fg1CA5GzI3suE=
    -----END CERTIFICATE-----
    subject=/CN=site.ru
    issuer=/C=US/O=Let's Encrypt/CN=R3
    ---
    No client certificate CA names sent
    Peer signing digest: SHA512
    Server Temp Key: ECDH, P-256, 256 bits
    ---
    SSL handshake has read 3151 bytes and written 415 bytes
    ---
    New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES256-GCM-SHA384
    Server public key is 2048 bit
    Secure Renegotiation IS supported
    Compression: NONE
    Expansion: NONE
    No ALPN negotiated
    SSL-Session:
        Protocol  : TLSv1.2
        Cipher    : ECDHE-RSA-AES256-GCM-SHA384
        Session-ID: CFE624FA344E9687D032244550611B55AA431388EE81B08AE3877E24541766CA
        Session-ID-ctx: 
        Master-Key: A97FDC8A0FEB5CC559BCE81C32C003EBC5B408AF018065166158A66F3110D8F4164756956AEA397EC77155D76868290E
        Key-Arg   : None
        Krb5 Principal: None
        PSK identity: None
        PSK identity hint: None
        TLS session ticket lifetime hint: 300 (seconds)
        TLS session ticket:
        0000 - 37 22 09 1f e2 48 65 3e-db 6c 32 76 b9 ad 64 ae   7"...He>.l2v..d.
        0010 - 5e 1a 5e ec d4 c5 54 b4-7f 49 c4 1d 0a 96 80 00   ^.^...T..I......
        0020 - 6b 46 cf 99 9d 46 46 65-7e 23 ff 04 e5 e3 ba cf   kF...FFe~#......
        0030 - 71 9a 71 38 4c e7 42 48-ca 68 42 3b b2 eb c2 b7   q.q8L.BH.hB;....
        0040 - c7 9a 71 34 65 4b a9 60-57 34 a9 3a 75 f5 29 13   ..q4eK.`W4.:u.).
        0050 - dc f6 cd 2c 5f 74 32 71-72 5d 93 08 88 13 9a ee   ...,_t2qr]......
        0060 - 13 b6 96 87 fe c0 d2 92-d0 06 93 d7 4e e8 61 f2   ............N.a.
        0070 - 3f c5 21 5f de 77 a9 1d-e6 74 85 03 da d0 70 e5   ?.!_.w...t....p.
        0080 - d5 48 92 e3 96 5e 46 4b-a9 e3 bb 9b 2b bb 69 a8   .H...^FK....+.i.
        0090 - 09 c0 2c f0 5e 9e d2 b1-fd de 6b b2 3c 26 25 4f   ..,.^.....k.<&%O
        00a0 - b3 2f 58 53 57 55 31 d3-b4 1c d3 36 7e ba dc e1   ./XSWU1....6~...
        00b0 - b5 29 59 c5 4c ce 20 3e-f2 ce 8f c8 00 7b 7f 1b   .)Y.L. >.....{..
    
        Start Time: 1613511280
        Timeout   : 300 (sec)
        Verify return code: 0 (ok)
    ---
    closed


    Может какой нибудь проброс портов настроен на сервере? Не знаю как это посмотреть. Просто не я его настраивал, с ним может быть все что угодно. В начале забыл указать, что ос Centos 7. Может еще с файерволом что, но вроде 443 открыл порт.
  • Apache2 почему не работает https?

    svisch
    @svisch Автор вопроса
    MaxKozlov, сори за долгий ответ. По порядку:
    1. Имя сервера в httpd.conf в параметре ServerName за пределами VirtualHost - site.ru:80 (пробовал ставить и :443), а внутри него - site.ru. Генерировал сертификат для доменов site.ru и www.site.ru командой
    sudo certbot certonly --apache -d site.ru -d www.site.ru
    . А как исходя из самих файлов не знаю как посмотреть имя в сертификате
    2. Listen 443 https в файле httpd.conf рядом c Listen 80. SSLEngine on - в настройках виртуального хоста для 443
    3. netstat -plutn выдает для 443 только
    0.0.0.0:443
    4. openssl s_client -connect вашадрес:443 пишет:
    socket: Bad file descriptor
    connect:errno=9
  • Apache2 почему не работает https?

    svisch
    @svisch Автор вопроса
    Vitaly Karasik,
    [ssl:warn] [pid 17462] AH01909: RSA certificate configured for site.ru:443 does NOT include an ID which matches the server name
  • Apache2 почему не работает https?

    svisch
    @svisch Автор вопроса
    MaxKozlov, убрал дубли Listen 443, ошибка пропала, но сайт по https до сих пор не доступен. Вот что выдает $ systemctl status httpd.service
    httpd.service - The Apache HTTP Server
       Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled)
       Active: active (running) since Пн 2021-02-15 11:46:18 MSK; 45s ago
         Docs: man:httpd(8)
               man:apachectl(8)
      Process: 17192 ExecStop=/bin/kill -WINCH ${MAINPID} (code=exited, status=0/SUCCESS)
      Process: 11147 ExecReload=/usr/sbin/httpd $OPTIONS -k graceful (code=exited, status=0/SUCCESS)
     Main PID: 17196 (httpd)
       Status: "Total requests: 4; Current requests/sec: 0.1; Current traffic: 512 B/sec"
       CGroup: /system.slice/httpd.service
               ├─17196 /usr/sbin/httpd -DFOREGROUND
               ├─17197 /usr/sbin/httpd -DFOREGROUND
               ├─17198 /usr/sbin/httpd -DFOREGROUND
               ├─17199 /usr/sbin/httpd -DFOREGROUND
               ├─17200 /usr/sbin/httpd -DFOREGROUND
               ├─17201 /usr/sbin/httpd -DFOREGROUND
               └─17203 /usr/sbin/httpd -DFOREGROUND
    
    фев 15 11:46:18 centos02 systemd[1]: Stopped The Apache HTTP Server.
    фев 15 11:46:18 centos02 systemd[1]: Starting The Apache HTTP Server...
    фев 15 11:46:18 centos02 systemd[1]: Started The Apache HTTP Server.
  • Apache2 почему не работает https?

    svisch
    @svisch Автор вопроса
    Vitaly Karasik, до этого переименовывал ssl.conf в ssl1.conf, думал он не будет считываться, а присмотрелся нет. В итоге удалил его пришел к одному virtualhosts:443
    Но по прежнему сайт не доступен( Вывод httpd -S привожу ниже
    VirtualHost configuration:
    *:443                  site.ru (/etc/httpd/conf/httpd.conf:384)
    *:80                   is a NameVirtualHost
             default server shop.local (/etc/httpd/conf/httpd.conf:368)
             port 80 namevhost shop.local (/etc/httpd/conf/httpd.conf:368)
                     alias shop.site.ru
             port 80 namevhost stolica5.local (/etc/httpd/conf/httpd.conf:376)
                     alias www.site.ru
                     alias site.ru
             port 80 namevhost stolica3.local (/etc/httpd/conf/httpd.conf:403)
             port 80 namevhost mirstartup.ru (/etc/httpd/conf/httpd.conf:411)
                     alias www.mirstartup.ru
                     alias mirstartup.local
    ServerRoot: "/etc/httpd"
    Main DocumentRoot: "/var/www/html"
    Main ErrorLog: "/etc/httpd/logs/error_log"
    Mutex default: dir="/run/httpd/" mechanism=default 
    Mutex mpm-accept: using_defaults
    Mutex authdigest-opaque: using_defaults
    Mutex proxy-balancer-shm: using_defaults
    Mutex rewrite-map: using_defaults
    Mutex authdigest-client: using_defaults
    Mutex ssl-stapling: using_defaults
    Mutex proxy: using_defaults
    Mutex authn-socache: using_defaults
    Mutex ssl-cache: using_defaults
    PidFile: "/run/httpd/httpd.pid"
    Define: _RH_HAS_HTTPPROTOCOLOPTIONS
    Define: DUMP_VHOSTS
    Define: DUMP_RUN_CFG
    User: name="apache" id=48 not_used
    Group: name="apache" id=48 not_used
  • Apache2 почему не работает https?

    svisch
    @svisch Автор вопроса
    Vitaly Karasik,
    нужно удалить или ssl.conf или конфигурацию HTTPS из основного конфига

    имеете ввиду удалить если из httpd.conf, то этот код:
    <VirtualHost *:443>
        ServerName site.ru
        ServerAlias www.site.ru site.ru
        DocumentRoot /var/www/newstolica
        ErrorLog /var/log/httpd/newstolica-error.log
        CustomLog /var/log/httpd/newstolica-access.log combined
        SSLEngine on
        SSLCertificateFile /etc/letsencrypt/live/stolica.ooo/cert.pem
        SSLCertificateChainFile /etc/letsencrypt/live/stolica.ooo/chain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/stolica.ooo/privkey.pem
    </VirtualHost>


    Если да, то все равно не работает. Удаление ssl.conf тоже не помогло((
  • Apache2 почему не работает https?

    svisch
    @svisch Автор вопроса
    Держите. Свой сайт если что поменял на site.ru
    httpd.conf
    ServerRoot "/etc/httpd"
    #Listen 12.34.56.78:80
    Listen 80
    
    Include conf.modules.d/*.conf
    
    User apache
    Group apache
    
    ServerAdmin root@localhost
    
    ServerName site.ru:80
    
    <Directory />
        AllowOverride none
        Require all denied
    </Directory>
    
    DocumentRoot "/var/www/html"
    
    <Directory "/var/www">
    #    AllowOverride All
        # Allow open access:
    #    Require all granted
        
        AllowOverride None
            # Allow open access:
                Require all granted
                    
    </Directory>
    
    # Further relax access to the default document root:
    <Directory "/var/www">
       
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
    
    <IfModule dir_module>
        DirectoryIndex index.html
    </IfModule>
    
    <Files ".ht*">
        Require all denied
    </Files>
    
    ErrorLog "logs/error_log"
    
    LogLevel warn
    
    <IfModule log_config_module>
        #
        # The following directives define some format nicknames for use with
        # a CustomLog directive (see below).
        #
        LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
        LogFormat "%h %l %u %t \"%r\" %>s %b" common
    
        <IfModule logio_module>
          # You need to enable mod_logio.c to use %I and %O
          LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio
        </IfModule>
    
        CustomLog "logs/access_log" combined
    </IfModule>
    
    <IfModule alias_module>
        ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
    </IfModule>
    
    <Directory "/var/www/cgi-bin">
        AllowOverride None
        Options None
        Require all granted
    </Directory>
    
    <IfModule mime_module>
    
        TypesConfig /etc/mime.types
    
        AddType application/x-compress .Z
        AddType application/x-gzip .gz .tgz
    
        AddType text/html .shtml
        AddOutputFilter INCLUDES .shtml
    </IfModule>
    
    AddDefaultCharset UTF-8
    
    <IfModule mime_magic_module>
        MIMEMagicFile conf/magic
    </IfModule>
    
    EnableSendfile on
    
    IncludeOptional conf.d/*.conf
    
    <VirtualHost *:80>
        ServerName site.ru
        ServerAlias www.site.ru site.ru
        DocumentRoot /var/www/newstolica
        ErrorLog /var/log/httpd/newstolica-error.log
        CustomLog /var/log/httpd/newstolica-access.log combined
    </VirtualHost>
    
    <VirtualHost *:443>
        ServerName site.ru
        ServerAlias www.site.ru site.ru
        DocumentRoot /var/www/newstolica
        ErrorLog /var/log/httpd/newstolica-error.log
        CustomLog /var/log/httpd/newstolica-access.log combined
        SSLEngine on
        SSLCertificateFile /etc/letsencrypt/live/site.ru/cert.pem
        SSLCertificateChainFile /etc/letsencrypt/live/site.ru/chain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/site.ru/privkey.pem
    </VirtualHost>


    ssl.conf
    Listen 443 https
    
    SSLPassPhraseDialog exec:/usr/libexec/httpd-ssl-pass-dialog
    
    SSLSessionCache         shmcb:/run/httpd/sslcache(512000)
    SSLSessionCacheTimeout  300
    
    SSLRandomSeed startup file:/dev/urandom  256
    SSLRandomSeed connect builtin
    
    SSLCryptoDevice builtin
    
    <VirtualHost *:443>
        ServerName site.ru
        ServerAlias www.site.ru site.ru
        DocumentRoot /var/www/newstolica
        ErrorLog /var/log/httpd/newstolica-error.log
        CustomLog /var/log/httpd/newstolica-access.log combined
        SSLEngine on
        SSLCertificateFile /etc/letsencrypt/live/stolica.ooo/cert.pem
        SSLCertificateChainFile /etc/letsencrypt/live/stolica.ooo/chain.pem
        SSLCertificateKeyFile /etc/letsencrypt/live/stolica.ooo/privkey.pem
    </VirtualHost>
    
    <VirtualHost _default_:443>
    
    ErrorLog logs/ssl_error_log
    TransferLog logs/ssl_access_log
    LogLevel warn
    
    SSLEngine on
    
    SSLProtocol all -SSLv2 -SSLv3
    
    SSLCipherSuite HIGH:3DES:!aNULL:!MD5:!SEED:!IDEA
    
    SSLCertificateFile /etc/pki/tls/certs/localhost.crt
    
    SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
    
    <Files ~ "\.(cgi|shtml|phtml|php3?)$">
        SSLOptions +StdEnvVars
    </Files>
    <Directory "/var/www/cgi-bin">
        SSLOptions +StdEnvVars
    </Directory>
    
    BrowserMatch "MSIE [2-5]" \
             nokeepalive ssl-unclean-shutdown \
             downgrade-1.0 force-response-1.0
    
    CustomLog logs/ssl_request_log \
              "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
    
    </VirtualHost>


    $ httpd -S
    VirtualHost configuration:
    *:443                  is a NameVirtualHost
             default server stolica.ooo (/etc/httpd/conf.d/ssl.conf:56)
             port 443 namevhost stolica.ooo (/etc/httpd/conf.d/ssl.conf:56)
                     alias www.site.ru
                     alias site..ru
             port 443 namevhost site.ru (/etc/httpd/conf.d/ssl.conf:68)
             port 443 namevhost site.ru (/etc/httpd/conf/httpd.conf:385)
                     alias www.site.ru
                     alias site.ru
    *:80                   is a NameVirtualHost
             default server shop.local (/etc/httpd/conf/httpd.conf:368)
             port 80 namevhost shop.local (/etc/httpd/conf/httpd.conf:368)
                     alias shop.site.ru
             port 80 namevhost site.local (/etc/httpd/conf/httpd.conf:376)
                     alias www.site.ru
                     alias site.ru
    ServerRoot: "/etc/httpd"
    Main DocumentRoot: "/var/www/html"
    Main ErrorLog: "/etc/httpd/logs/error_log"
    Mutex authdigest-client: using_defaults
    Mutex ssl-stapling: using_defaults
    Mutex proxy: using_defaults
    Mutex authn-socache: using_defaults
    Mutex ssl-cache: using_defaults
    Mutex default: dir="/run/httpd/" mechanism=default 
    Mutex mpm-accept: using_defaults
    Mutex authdigest-opaque: using_defaults
    Mutex proxy-balancer-shm: using_defaults
    Mutex rewrite-map: using_defaults
    PidFile: "/run/httpd/httpd.pid"
    Define: _RH_HAS_HTTPPROTOCOLOPTIONS
    Define: DUMP_VHOSTS
    Define: DUMP_RUN_CFG
    User: name="apache" id=48 not_used
    Group: name="apache" id=48 not_used