본문 바로가기

전체 글357

Visual Studio 2022 gRPC 서버 TLS 사용 보호되어 있는 글 입니다. 2022. 2. 21.
Visual Studio 2022 gRPC 클라이언트 개발 새 프로젝트 만들기에서 콘솔 앱을 선택합니다. 프로젝트 이름을 설정합니다. 닷넷 프레임워크를 선택합니다. gRPC 개발을 위한 패키지를 설치합니다. 도구 > NuGet 패키지 관리자 > 패키지 관리자 콘솔을 선택합니다. 하단 파워쉘에서 아래 명령을 실행합니다. Install-Package Grpc.Net.Client Install-Package Google.Protobuf Install-Package Grpc.Tools 솔루션 탐색기에서 설치된 패키지를 확인할 수 있습니다. 프로젝트에서 Protos 폴더를 만듭니다. 프로토콜 버퍼 파일을 해당 폴더에 복사합니다. echo.proto 파일의 내용은 다음과 같습니다. syntax = "proto3"; option csharp_namespace = "artgr.. 2022. 2. 6.
ELB 에 HTTPS 설정하기 - 2 - 예전 방식인 Classic Loadbalncer 의 경우, 2017.04.13 - [프로그래밍/AWS(아마존 클라우드)] - ELB 에 HTTPS 설정하기... 포스팅을 참고해주세요. 먼저, 로드밸런서를 생성합니다. 이때 Application Load Balancer 를 생성합니다. 로드 밸런서의 이름을 지정합니다. Network mapping 의 경우 EC2 가 위치하고 있는 가용 영역을 지정합니다. 추후 추가할 영역도 고려하여 복수개 선택합니다. Listeners and routing 에서 HTTP 80 의 타겟 그룹을 생성합니다. 타겟 타입은 Instances 를 선택합니다. 타겟 그룹네임을 지정합니다. 프로토콜 버전은 HTTP1 을 선택합니다. Health check path 를 지정하고 홈페이지.. 2021. 12. 3.
Mac OS 에서 mcrypt 설치하기 brew 를 사용하여 php 를 버전별로 설치하여 사용하고 있다면, extention 모듈을 pecl 을 이용하여 설치할 수 있습니다. mcrypt.so 를 연동하고 싶다면 다음과 같이 실행합니다. brew install mcrypt pecl install mcrypt 이 과정에서 아래의 이미지처럼 prefix 를 물어오는 경우, 해당 소스가 위치한 경로를 입력하여야합니다. 가령, /opt/homebrew/Cellar/mcrypt/2.6.8 과 같이 지정합니다. 2021. 2. 12.
CentOS 7 특정 횟수 이상 TCP 접속 차단하기 먼저, iptables 로그 파일을 생성하도록 rsyslog.conf 의 RULE 을 추가합니다. vi /etc/rsyslog.conf kern.* /var/log/iptables.log 80 포트와 443 포트에 10초 이내 20회 접근이 발생하는 경우에 대하여 로그 및 차단 처리하도록 RULE 을 추가합니다. IP 의 경우 보안의 이유로 일부 x 표기하였습니다. iptables -I INPUT -p tcp -s 0.0.0.0/0 -d 172.31.x.x --dport 80 -m recent --set --name flood_list iptables -I INPUT -p tcp -s 0.0.0.0/0 -d 172.31.x.x --dport 80 -m recent --update --seconds 10 .. 2020. 10. 4.
Laravel 환경설정 - .env, nginx 1. 로컬 개발 환경 .gitignore 에 아래 파일을 추가합니다. .env.local .valet-env.php 라라벨 프로젝트의 루트 디렉토리로 이동한 후, valet link 명령어로 로컬 도메인(http://myproj.test)을 생성합니다. valet link myproj 마찬가지로 루트 디렉토리에서 .valet-env.php 파일을 생성한 후, APP_ENV 전역 변수를 설정합니다. 2020. 3. 18.
파워셀을 통해 오피스365 exchange online 접속하기 파워쉘을 관리자 권한으로 실행한 후, 실행 정책을 변경합니다. Set-ExecutionPolicy RemoteSigned Exchange Online 에 접속합니다. 이를 위해 먼저, 아이디와 비밀번호를 설정합니다. $Creds = Get-Credential 접속합니다. $Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri https://outlook.office365.com/powershell-liveid/ -Credential $Creds -Authentication Basic -AllowRedirection 세션을 연결합니다. Import-PSSession $Session -DisableNameChecking 연결.. 2020. 3. 13.
zsh 사용하기 1. CentOS 7 yum install zsh 2. CentOS 8 dnf install zsh 3. MacOS X brew install zsh 기본 쉘을 zsh 로 변경합니다. chsh -s /bin/zsh 이후, 계정마다 oh my zsh 를 설치합니다. curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh 계정 루트 디렉토리에서 .zshrc 파일을 수정합니다. git 을 사용하다면, 테마로 agnoster 를 사용합니다. vi ./zshrc ZSH_THEME="agnoster" 그 외 유용한 플러그인으로 zsh-syntax-highlighting 을 설치합니다. yum install zsh-synta.. 2020. 3. 10.
Laravel Nova 설치하기 Nova 는 라라벨 관리자페이지 라이브러리로 유료입니다. 해당 라이센스를 구매한 후, Releases 페이지에서 파일을 다운로드합니다. 압축을 푼 후, 디렉토리명을 nova 로 변경합니다. 사용할 라라벨 프로젝트의 루트 디렉토리에 해당 디렉토리(repos/nova)를 추가합니다. vi composer.json "require": { ..... "laravel/nova": "*" } ...... "repositories": [ { "type": "path", "url": "./nova" ] 아래 명령어를 실행합니다. composer update php artisan nova:install 데이터베이스 마이그레이션을 실행합니다. php artisan migrate 접속 URL 에 /nova 를 추가하여 접속.. 2020. 3. 5.
AWS EB CLI 사용하기 - Mac OSX 먼저, CLI 를 설치합니다. brew install awsebcli eb --version 이미, Elastic Beanstalk, CodePipeline, github 가 연동된 경우라면 등록한 액세스 키 등을 이용하여 초기화 및 연결할 수 있습니다. 먼저, 프로젝트의 루트 디렉토리에서 아래 명령어를 실행합니다. eb init 리전을 선택하고 난 후, 기 설치된 EB 어플리케이션이 있으면 선택하거나 신규로 생성할 수 있습니다. 콘솔에서는 github 와 연동하는 방법이 보이지않는 관계로, github 와 연동할 경우에는 management console 을 사용합니다. 만약, 여러 계정의 AWS 를 사용하고 있다면 각각의 설정을 사용하기 위하여 아래 파일의 내용을 수정합니다. vi ~/.aws/con.. 2020. 3. 5.
AWS CLI 사용하기 - Mac OSX 먼저, IAM 서비스로 이동한 후, 사용자 추가를 클릭합니다. 사용자 이름은 로그인 시 사용되는 아이디라고 보면 되는데, .cli 를 붙여 용도를 구분할 수 있도록 하는 것도 좋습니다. 콘솔을 통해서만 접근할 용도로 생성할 때는 액세스 유형에서 "프로그래밍 방식 액세스"만을 선택합니다. 권한 설정의 경우, "기존 정책 직접 연결"에서 원하는 정책 필터를 추가하면 됩니다. 이후, 태그 등을 입력한 후 액세스 키 ID 와 비밀 액세스 키를 잘 복사해둡니다. brew install awscli aws --version 접속할 사용자 정보를 설정하기 위해서는 아래 명령어를 실행합니다. aws configure 2020. 3. 5.
CentOS 7 SELinux 사용 SELinux 사용에 필요한 패키지들을 설치합니다. yum install policycoreutils-python yum install setools setools-console setroubleshoot* yum install policycoreutils-devel 메뉴얼 페이지를 생성합니다. sepolicy manpage -a -p /usr/share/man/man8; mandb 현재 SELinux 의 상태를 확인하려면 다음 명령어를 실행합니다. sestatus SELinux 의 모드는 Enforcing, Permissive, Disabled 3가지가 있으며 각각 운영, 디버그, 중지 모드라고 생각하면 됩니다. 모드를 변경하려면 /etc/selinux/config 파일을 수정하면 됩니다. 임시로 모드.. 2020. 3. 4.
Mac OS 에서 라라벨 개발 환경 구축 - Valet brew 기반으로 설치가 가능하며, composer 의 경우 미리 설치하여야합니다. composer 실행의 경우, composer 또는 composer.phar 을 사용합니다. brew update brew install php composer global require laravel/valet 시스템 PATH 에 경로를 추가합니다. sudo nano /etc/paths /opt/homebrew/bin/valet valet 을 설치합니다. valet install 설치가 완료되었으면, ping abcde.test 로 test 로 끝나는 도메인으로 핑을 시도해봅니다. 올바르게 설치가되었다면, 127.0.0.1 로 부터 응답이 오게됩니다. 설치 후, 맥이 실행될때마다 자동으로 데몬이 실행됩니다. 만약, 도메.. 2020. 3. 2.
Laravel 5.8 Unit Tests 시 SQLite 를 메모리에서 사용하기 config/database.php 의 connections 에서 아래의 설정을 추가합니다. 'sqlite_testing' => [ 'driver' => 'sqlite', 'database' => ':memory:', 'prefix' => '', ], phpunit.xml 의 DB_DEFAULT 값을 sqlite_testing 으로 변경합니다. PHP Storm 을 사용할 경우, Languages & Frameworks > PHP > Test Frameworks 에서 phpunit.xml 을 지정하여야합니다. 단위 테스트 파일에서 RefresDatabase 을 선언합니다. 테스트 메소드가 호출될때마다 데이터베이스가 초기화(rollback, migrate)되므로, 초기화 데이터는 setUp() 에 추가합니다. 2019. 9. 4.
아마존 부팅시 루트권한 스크립트 실행 아마존 클라우드를 사용하면서, 리눅스의 방화벽 설정 등이 꼬여서 ssh 접근이 막힌다거나 하는 불상사가 발생하면 어떡해야할까요? 당황하지 말고 사용자 데이터로 스크립트를 등록하도록 합니다. 이때 해당 인스턴스를 중지하여야 스크립트를 저장할 수 있습니다. 스크립트는 아래와 같이 작성합니다.(firewalld 의 default zone 을 trusted 로 변경하여 모든 포트로 접근이 가능하도록 허용) #cloud-boothook #!/usr/bin/env bash /bin/firewall-offline-cmd --set-default-zone=trusted /bin/firewall-cmd --set-default-zone=trusted 이때 #cloud-boothook 을 반드시 맨 상단에 기입하여야합니다.. 2019. 6. 17.