-
[Ubuntu, OpenVPN] VPN 서버 구축하기백엔드/Linux(Ubuntu) 2023. 3. 16. 19:34
OpenVPN 설치 스크립트 OpenVPN을 통해 VPN 서버를 구축하고자 할 때, Readme 문서를 읽어가며 하는 것 보다 아래의 스크립트를 사용하면 이전에 OpenVPN을 사용해 본 적이 없더라도 1분 이내에 자신만의 VPN 서버를 설정할 수 있다. 스크립트도 최대한 눈에 거슬리지 않고 직관적으로 사용할 수 있도록 설계되어 있다. https://github.com/Nyr/openvpn-install GitHub - Nyr/openvpn-install: OpenVPN road warrior installer for Ubuntu, Debian, AlmaLinux, Rocky Linux, CentOS and Fedora OpenVPN road warrior installer for Ubuntu, Debi..
-
Apache MINA와 Netty의 차이 및 장단점프로그래밍/Java 2023. 3. 5. 18:04
Apache MINA와 Netty MINA와 Netty는 모두 네트워크 프로그래밍에 사용되는 Java 기반의 NIO(Non-blocking I/O) 프레임워크이다. 이 두 프레임워크 모두 비동기 I/O를 지원하며, 이를 통해 동시에 많은 클라이언트 요청을 처리할 수 있다. 그러나 MINA와 Netty는 아래와 같은 차이점이 있다. 성능 Netty는 성능면에서 MINA보다 더 높은 성능을 보인다. MINA는 Reactor 스타일의 구현을 사용하여 I/O를 처리하는 반면, Netty는 비동기 I/O 작업 처리를 위해 I/O worker 쓰레드풀을 사용한다. 코드 디자인 MINA는 이벤트 기반의 모델을 사용한 반면, Netty는 Future와 Callback 구현을 사용한다. 개발자 커뮤니티 Netty는 큰 ..
-
[Ubuntu, Nginx] PHP 연동하기백엔드/Linux(Ubuntu) 2023. 3. 4. 21:58
PHP-FPM Nginx와 PHP를 연동하기 위해서는 PHP-FPM를 사용한다. PHP-FPM은 PHP FastCGI Process Manager의 약자로, PHP의 FastCGI 지원을 제공하는 프로세스 관리자이다. 일반적으로 PHP 웹 애플리케이션을 실행하는 데 사용되며, PHP를 FastCGI 프로토콜을 지원하는 웹 서버와 함께 사용할 수 있도록 설계되어 상호간 효율적인 통신을 돕는다. PHP-FPM 설치 Nginx는 PHP를 직접 지원하지 않으므로, PHP를 먼저 설치해야한다. 이때 설치되는 php의 버전을 잘 확인해야한다. apt-get install php-fpm 설치후에 설정도 자동으로 되면 좋겠지만, 아래의 경로로 이동해서 수정해야한다. 경로 : etc/nginx/sites-availabl..
-
[PHP, Nginx] 사용자 정의 헤더 넘겨 받기프로그래밍/Web(CSS + HTML + JS + PHP ) 2023. 2. 23. 13:57
문제 상황 Apache였다면, apache_request_headers() 함수를 사용하여 헤더들을 넘겨 받아서 사용하겠지만 Nginx에서는 해당 함수를 사용할 수 없기 때문에 사용 방법이 조금 다르다. 문제 해결 결론 부터 말하자면, $_SERVER를 이용해서 넘겨 받을 수 있다. 아래와 같이 사용자 정의 헤더(CURL-REAL-IP)를 전송하려고 한다. ※ 헤더는 -만 사용해야하고 불가피하게 _을 사용하려고 하면 underscores_in_headers on; 옵션을 추가해줘야한다. Nginx를 통과하여 php에 도착하면 $_SERVER에 HTTP_라는 접두사가 붙은채로 아래와 같이 도착해있다. 소스 코드 서버단 php에서 사용할 때는 다음과 같이 사용한다.
-
[Ubuntu, Nginx] HTTP/2 적용하기백엔드/Linux(Ubuntu) 2023. 2. 23. 12:32
HTTP/2 HTTP/2는 HTTP/1.1과는 달리, TCP 연결 하나로 여러 파일들(.js, .css, .jpg, .png 등)을 병렬 전송하여 서버단에서는 소켓의 낭비를 줄이고 클라이언트 단에서는 SPDY의 최대 병렬 다운로드 개수인 6개를 넘어서 더 빠르게 로딩이 가능해진다. Nginx에서는 1.9.5 버전부터 HTTP/2를 지원하게 되었다. https://www.nginx.com/blog/nginx-1-9-5/ HTTP/2 Supported in Open Source NGINX 1.9.5 | NGINX Learn about HTTP/2 support introduced in version 1.9.5 of NGINX Open Source. www.nginx.com 1. Nginx 업데이트(< 1.9..
-
[PHP] cURL 사용해서 post 데이터 넘겨주기프로그래밍/Web(CSS + HTML + JS + PHP ) 2023. 2. 20. 12:37
소스 코드 $clientID = "Client ID"; $clientSecret = "Client SecretKey"; $url = "https://www.example.com"; $body = array("foo" => "test", "bar" => "test"); # type1 $body = "foo=test&bar=test"; # type2 $ch = curl_init(); //curl 초기화 curl_setopt_array($ch, array( CURLOPT_URL=> $url, //URL 지정하기 CURLOPT_POST=> true, //true시 post 전송 CURLOPT_RETURNTRANSFER=> true, //요청 결과를 문자열로 반환 CURLOPT_HTTPHEADER=> array(..
-
메이플스토리 사냥 중 입력 언어 전환 끄기게임/메이플스토리 2023. 2. 16. 10:43
문제 상황 메이플스토리에서 사냥을 하다보면 입력기가 변경되며 해당 창이 사냥을 방해하는 경우가 종종있다. 이후 가끔 입력기에 따라 한글이 입력되지 않고 영어만 입력되기도 한다. 사실 이는 윈도우의 입력 언어 간 바로가기 키가 왼쪽 Alt+Shift로 지정되어 있기 때문이다. 해결 방법 그래서, 이를 해결하는 방법도 간단하다. 설정 > 검색 > 입력 설정 > 고급 키보드 설정 > 입력 언어 바로 가기 키 > 입력 언어 간 선택 > 키 시퀀스 변경 > 할당되지 않음 선택 > 확인 > 적용
-
[SSH] SSH 터널링으로 접속하기백엔드/ETC 2023. 2. 3. 15:41
SSH 터널링은 다음과 같은 상황에서 사용한다. 1. 방화벽 밖의 PC를 A, 방화벽 내의 PC를 B, C라고 가정한다. 2. A가 B에 SSH로 접속 가능하다. 3. B는 C에 접속 가능하다. 4. A는 C에 접속 불가능하다. 이럴 때 A가 C의 서비스에 접속하는 방법은 B를 통해(SSH 터널링) 접속하는 방법이다. SSH 터널링은 L옵션을 사용하는데, 아래와 같은 방법으로 사용한다. ssh -L 내(A)가_사용할_포트:C의_아이피_주소:C의_서비스_포트 B의_아이피_주소 -p B의_SSH_포트 -l B의_SSH_id A의 아이피 주소는 192.168.0.2이고 사용할 포트는 9999라고 가정한다. B의 아이피 주소는 10.0.0.3이고 ssh가 열린 포트는 10002이며, ssh에서 사용하는 아이디는..