Объектная модель HL7 для [закрытой].NET

Это было близко, всего несколько маленьких шагов. Я получил это, работая с ALB ELB.

Сначала я использовал скрипт, аналогичный описанному здесь: https://myopswork.com/how-to-do-end-to-end-encryption-of-data-in-transit-bw -aws-alb-and-ec2-3b7fd917cddd

#!/bin/bash

DIR=$(dirname [110])

domain=$(uname -n)
echo "Generating SSL for $domain"
commonname="$domain"
country="US"
state="California"
locality="LA"
organization="My Inc."
organizationalunit="Org"
email="my@email.com"

# Optional
password=dummypassword

echo "Generating key request for $domain"

mkdir -p /etc/ssl/private
chmod 700 /etc/ssl/private
mkdir -p /etc/ssl/certs

# Generate a key
openssl genrsa -des3 -passout pass:$password -out /etc/ssl/private/$domain.key 2048 -noout

# Remove passphrase from the key. Comment the line out to keep the passphrase
echo "Removing passphrase from key"
openssl rsa -in /etc/ssl/private/$domain.key -passin pass:$password -out /etc/ssl/private/$domain.key

# Create the request
echo "Creating CSR"
openssl req -new -key /etc/ssl/private/$domain.key -out /etc/ssl/private/$domain.csr -passin pass:$password \
    -subj "/C=$country/ST=$state/L=$locality/O=$organization/OU=$organizationalunit/CN=$commonname/emailAddress=$email"

# Create the cert
openssl x509 -req -days 365 -in /etc/ssl/private/$domain.csr -signkey /etc/ssl/private/$domain.key -out /etc/ssl/certs/$domain.crt

# Setup nginx config
sed "s/{{hostname}}/${domain}/" < $DIR/template.conf > /etc/nginx/sites-available/site.conf
ln -sf /etc/nginx/sites-available/site.conf /etc/nginx/sites-enabled/site.conf

Шаблон выглядел примерно так:

server {
    # listen 80 #uncomment to also listen on port 80 - useful for debugging
    listen 443 ssl;
    listen [::]:443 ssl;
    server_name {{hostname}};

    ssl_certificate /etc/ssl/certs/{{hostname}}.crt;
    ssl_certificate_key /etc/ssl/private/{{hostname}}.key;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
    ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";

    add_header Strict-Transport-Security "max-age=63072000; includeSubdomains";
    add_header X-Frame-Options sameorigin;
    add_header X-Content-Type-Options nosniff;

    location / {
        ...
    }
}

Домен выглядел примерно как ip-172-10-11-12.

Для отладки всего я запустил что-то , например , следующее - это из памяти, поэтому у него могут быть отключены детали. Я начал с того, что убедился, что могу свернуть сервер локально, нажав nginx:

curl https://ip-172-10-11-12/healthcheck --cacert /etc/ssl/certs/ip-172-10-11-12.crt

Затем я получил адрес ELB и убедился, что могу свернуться против этого. Я должен был пойти на машине, которая могла получить доступ к машине ELB. Обратите внимание, что из-за правил безопасности, ELB не был привязан, но был свернут. Я считаю, что я проверил это 2 способами. Сначала я попробовал:

curl https://elb-address/healthcheck --insecure

Затем я добавил ip-172-10-11-12 в файл / etc / hosts и попытался:

curl https://ip-172-10-11-12/healthcheck --cacert /cert/file/copied/onto/machine

Как только я заработал эту работу , ALB ELB начал работать. Мне пришлось проверить правила брандмауэра, группы безопасности AWS и т. Д., Прежде чем этот последний вызов сработал. Но когда это сработало, ELB начал видеть сервер.

Во время отладки я также получил 1 заключительную информацию: если доступ к ELB осуществляется из общедоступного Интернета, то в ELB должны быть только общедоступные подсети, а общедоступные подсети должны находиться в той же зоне доступности, что и целевые машины

26
задан skaffman 30 May 2011 в 19:27
поделиться

3 ответа

Вы хотите nHAPI Я использовал его в проекте ранее, и он отлично работал. Тот факт, что это открытый исходный код также спас мой бекон, так как один из источников входных данных не точно соответствовал спецификации HL7, поэтому мне пришлось немного взломать источник, чтобы парсер nHAPI разрешил эти сообщения (так как я не мог изменить их).

28
ответ дан 28 November 2019 в 07:35
поделиться

У Ориона Хелта есть набор инструментов под названием Симфония, который делает нечто подобное. Существует также набор инструментов Chameleon от Interfaceware, который делает то же самое.

0
ответ дан 28 November 2019 в 07:35
поделиться

Я тоже использовал nHAPI, и он отлично работает. Однако вам, возможно, придется остерегаться некоторого причудливого поведения при экранировании специальных символов. Мне также пришлось вручную взломать строку HL7, чтобы обновить некоторые поля, которые были недоступны с помощью объектной модели.

6
ответ дан 28 November 2019 в 07:35
поделиться
Другие вопросы по тегам:

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