Если apache/httpd работал до установки нового SSL,Я настоятельно рекомендую вам просмотреть синтаксис вашей конфигурации, используя
httpd -t
Каждый раз, когда вы редактируете конфигурацию apache/httpd, вы должны убедиться, что синтаксис правильный, иначе при перезапуске служба apache/httpd не восстановится. Вот пример работающей настройки SSL.
<VirtualHost *:443>
DocumentRoot "/var/www/jesus"
ServerName jare.site
ServerAlias www.jare.site
ReWriteEngine on
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3
SSLCertificateFile /etc/letsencrypt/live/www.jare.site/cert.pem
SSLCertificateKeyFile /etc/letsencrypt/live/www.jare.site/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/www.jare.site/fullchain.pem
</VirtualHost>
Теперь я отредактировал файл SSLCertifacateFile /etc/letsencrypt/live/www.jare.site/cert.pe, удалив «m» в конце, и, как вы можете видеть, это привело к тому, что apache/httpd не пришел резервный.
<VirtualHost *:443>
DocumentRoot "/var/www/jesus"
ServerName jare.site
ServerAlias www.jare.site
#AllowOverride All
#Require all granted
ReWriteEngine on
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3
SSLCertificateFile /etc/letsencrypt/live/www.jare.site/cert.pe <---
SSLCertificateKeyFile /etc/letsencrypt/live/www.jare.site/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/www.jare.site/fullchain.pem
</VirtualHost>
Тестирование синтаксиса httpd.
$ httpd -t
AH00526: Syntax error on line 25 of /etc/httpd/conf.d/jesus.conf:
SSLCertificateFile: file '/etc/letsencrypt/live/www.jare.site/cert.pe' does not exist
or is empty
httpd/apache отказывается запускаться
$ service httpd restart
Redirecting to /bin/systemctl restart httpd.service
Job for httpd.service failed because the control process exited with error code. See
"systemctl status httpd.service" and "journalctl -xe" for details.
Как говорит пользователь thanasisp в комментариях , этот документ, скорее всего, является результатом запроса MongoDB, и проблема будет лучше решена путем правильного преобразования его в JSON с использованием ядра базы данных.
Однако утилита yq
изhttps://kislyuk.github.io/yq/(синтаксического анализатора YAML, обернутая вокруг jq
), способна (своего рода )анализировать документ как есть, как если бы он был YAML.
$ yq -r '[.name,.username,.contact_info.email] | @csv' file
"joe bam","joe_bam","N/a@mail.com"
Я говорю "своего рода", потому что этот беспорядок - это то, что вы получите, если пропустите его через фильтр идентификации:
$ yq. file
{
"_id": "ObjectId('58049da30b78a4a11e3c9869')",
"name": "joe bam",
"username": "joe_bam",
"contact_info": {
"email": "N/a@mail.com"
},
"color": "Blue",
"updated_at": "datetime.datetime(2017",
"5": null,
"18": null,
"11": null,
"16": null,
"19": null,
"737000)": null,
"created_at": "datetime.datetime(2016",
"10": null,
"17": null,
"9": null,
"45": null,
"7": null,
"226000)": null,
"token": "$2y$10$VMgv1S/NiGzkPsGhc4S.6eGFvEXv5YenlWQNdqUbVy4aGaeKOyxpi",
"views": 29,
"status_logged": true,
"provider": "signup"
}