본문 바로가기

전체 글321

라라벨 서브 디렉토리에 설치하기 nginx, valet 부득이한 경우, 특정 디렉토리 아래 라라벨을 설치하고 서브 URI 를 통해 접속해야하는 일이 생길 수 있습니다. 이와 관련하여 nginx 설정 및 valet 설정을 다음과 같이 합니다. nginx 설정 도메인/v1 에 연결하고자 할 경우 location /v1 { alias /home/어쩌구/html/v1/public; index index.php; try_files $uri $uri/ @laravel; location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_param SCRIPT_FILENAME $request_filename; fastcgi_pass unix:/var/run/php-fpm/어쩌구.sock; include fastcg.. 2022. 11. 21.
Mac 에서 SSH 터널링으로 MySQL 접속하기 클라우드 내 데이터베이스 서비스의 경우, 같은 리전에 속하는 PC 이외에서는 접속할 수 없는 경우가 있습니다. 이럴 때 접속이 가능한 리전의 sshd 서버를 이용하여 터널링하여 접속할 수 있는데... 이를 개발 환경에 맞게 적용하려면 다음과 같습니다. 우선, 중계 서버의 sshd 의 /etc/ssh/sshd_confing 파일에 포워딩 옵션(AllowTcpForwarding = yes)을 설정하여야합니다. 그리고 개발 PC 의 터미널에서 다음과 같이 명령어를 실행합니다. ssh -N -L 13306:데이터베이스주소:3306 hems@중계서버주소 -p중계서버포트 이렇게하면, 개발 PC 의 13306 포트를 통하여 데이터베이스와 연결이 됩니다. 즉, 개발 환경의 데이터베이스 설정을 127.0.0.1:1330.. 2022. 11. 21.
CentOS 7.x snap 으로 mosquitto 설치하기 snap install mosquitto 포트 1883을 방화벽에서 사용 가능하도록 합니다. firewall-cmd --permanent --add-service=mqtt firewall-cmd --reload firewall-cmd --list-all mosquitto 의 설정은 /var/snap/mosquitto/common/mosquitto_example.conf 를 사용하여 mosquitto.conf 를 생성합니다. 계정 및 비밀번호를 사용할 경우, 설정파일의 #password_file 의 주석을 제거하고 파일명을 지정합니다. 또한 로컬 외에 원격으로 접속을 허용할 경우 listener 설정을 합니다. password_file /var/snap/mosquitto/common/pw.txt liste.. 2022. 8. 23.
CentOS 7.x snap 및 node-red 설치하기 snap 은 설치가 쉽고 안전하며 플랫폼 간 종속성이 없는 데스크톱, 클라우드 및 IoT용 앱 패키지입니다. Snap은 수백만 명의 사용자를 보유한 Linux용 앱 스토어인 Snap Store에서 검색하고 설치할 수 있습니다. 먼저, snap 을 설치합니다. yum install snapd systemctl enable --now snapd.socket ln -s /var/lib/snapd/snap /snap 설치가 끝난 후, 로그아웃 또는 시스템 재부팅을 하여야합니다. 이제 snap 을 이용하여 node-red 를 설치합니다. snap install node-red 방화벽 설정 파일(/usr/lib/firewalld/services/node-red.xml)을 생성합니다. node-red Node-RED.. 2022. 8. 23.
.NET Framework 4.6.2 에서 gRPC-Web 클라이언트 구현 먼저, gRPC-Web 연동과 관련한 Grpc.Net.Client.Web 패키지의 경우 .NET Framework 를 지원하지 않습니다. 따라서, .NET Standard 2.0 클래스 라이브러리를 생성한 다음, 이를 .NET Framework 4.6.2 에서 호출하는 방식을 사용하여야합니다. 아래 표에서 확인할 수 있듯, .NET Standard 2.0 의 경우 .NET Framework 4.6.1 이상 부터 지원합니다. 즉, 4.6 은 연동할 수 없습니다. .NET Standard 클래스 라이브러리의 프로젝트 파일에 아래의 내용을 추가합니다. netstandard2.0 true true 그리고 .NET Framework 4.6.2 프로젝트 파일에 아래의 내용을 추가합니다.("프로젝트를 언로드" 한 다.. 2022. 6. 16.
Blazor 서버 앱 Elastic BeansTalk 배포 먼저, AWS Tookit 을 설치합니다. 2022.04.22 - [서버/클라우드] - AWS Toolkit for Visual Studio 설치 Visual Studio 에서 Blazor Server 앱을 선택하여 프로젝트를 생성합니다. 프로젝트가 생성되면 AWS Serverless 로 배포하여 정상적으로 동작하는지 확인합니다. 솔루션 탐색기에서 프로젝트를 선택하고 마우스 우클릭한 다음, 팝업에서 Publish to AWS Elastic Beanstalk... 를 실행합니다. 기존 사용하던 Elastic Beanstalk 환경이 있으면 이를 사용하여도 됩니다. 일단 새로운 어플리케이션 환경을 선택하여 새로이 환경 설정을 진행합니다. 사용할 URL 을 지정합니다. 이때 필요한 IAM 정책 권한은 Admi.. 2022. 5. 23.
.NET Core 에서 gRPC-Web 구현 https://docs.microsoft.com/ko-kr/aspnet/core/grpc/browser?view=aspnetcore-6.0 NuGET 을 사용하여 Grpc.AspNetCore.Web 패기지를 추가합니다. 서버의 Startup.cs 에서 UseRouting 과 UseEndpoints 사이에 UseGrpcWeb 을 호출합니다. 그 외 CORS 처리 및 gRPC 서비스 중 gRPC-Web 을 지원할 메소드들에 EnableGrpcWeb() 을 연계 및 호출합니다. public void ConfigureServices(IServiceCollection services) { services.AddGrpc(); services.AddCors(o => o.AddPolicy("AllowAll", buil.. 2022. 5. 22.
AWS Toolkit for Visual Studio 설치 Visual Studio 의 메뉴 "확장 > 확장 관리"를 실행합니다. aws 를 검색한 후, AWS Toolkit for Visual Studio 를 설치합니다. Visual Studio 를 종료하면, 설치를 진행합니다. 설치가 모두 끝나면 Visual Studio 를 다시 실행하고, "보기 > AWS Explorer" 메뉴를 실행합니다. 계정 설정을 합니다. 이때 AWS IAM 에서 생성한 엑세스 키ID 와 비밀 엑세스 키를 입력해줍니다. 정상적으로 입력이되었으면 좌측 서버 탐색기에 AWS Explorer 가 실행됩니다. 2022. 4. 22.
RDS MySQL 데이터베이스를 Aurora MySQL 로 마이그레이션하기 먼저, 기존 운영중이 RDS MySQL 의 스냅샷을 생성합니다. 생성된 스냅샷을 선택하여 "스냅샷 마이그레이션"을 실행합니다. DB 엔진 버전은 기존 메이저 버전과 동일한 버전을 사용하여야하며, 메이저 업그레이드는 마이그레이션한 이후에 진행하여야합니다. 마이그레이션을 진행합니다. Reader 인스턴스와 Writer 인스턴스의 엔드포인트 주소를 복사하여 해당 프레임워크 등에 적용합니다. 마스터 노드가 생성되면 읽기 노드도 추가합니다. 2022. 3. 26.
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.