본문 바로가기
728x90

분류 전체보기140

Springboot nginx wegsacket ssl 연결 통신 후 [WebSocket Error]java.net.ProtocolException: Expected HTTP 101 response but was '400 ' 에러해결법 springboot 에서 웹소켓으로 채팅을 하려고 했는데 자꾸 에러가 난다..로컬에서는 잘 되었지만 실제 서버 업로드 후 릴리즈 모드로 테스트 해보았는데 웹소켓 nginx 리다이렉트 부분에서 문제가 생긴 듯 하다그래서 구글링을 해보았다. 문제는 분명 nginx 에서 발생하는 것 같았다.. 왜냐하면 로컬에서는 잘 되었으니깐..!! 그래서 nginx 설정 관련해서 집중적으로 찾아보았다  location /bmt/chat { proxy_pass http://localhost:8085/chat; # 실제 WebSocket 서버의 주소 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; .. 2024. 10. 14.
Ssl .pem -> .crt 로 바꾸기 LetsEncrypt 로 ssl 적용을 하고 있었다. https 로 적용 중 스프링부트에서도 같이 ssl 적용하려면 해당 .crt 가 필요했다.그래서 .crt 를 바꾸는 방법을 알아보았다. springboot 뿐 아니라 node 에서도 필요한 부분이 있길래 겸사겸사 같이 알아보아서 적용시켜보았다 ㅎㅎ      Convert to .crt Format:If you need the .crt file specifically, you can create a copy of fullchain.pem and rename it: sudo cp /etc/letsencrypt/live/yourdomain.com/fullchain.pem /path/to/your/certificate.crt 이렇게 명령어를 linux 서버에.. 2024. 10. 14.
Semanage 로 nginx port 추가 허용방법 Linux 서버에서 nginx 로 서버 리다이렉트를 사용하고 있었다.하지만 nginx 에서 리다이렉트 허용하는 포트 번호가 너무 한정적이였다. 나만의 포트번호로 커스텀해서 그쪽으로 우회하고 싶었지만 그것을 추가할 수 있는 방법을 몰랐다. 그래서 구글링을 해보았다 . 요새 생산성 향상을 위해 chatgpt 를 많이 이용하곤 한다 ㅎㅎ   1. 현재 HTTP 관련 포트 확인우선, 현재 설정된 HTTP 관련 포트를 확인할 수 있습니다.bash코드 복사semanage port -l | grep http_port_t이 명령어는 http_port_t 타입으로 정의된 모든 포트를 보여줍니다.  2. 새로운 포트 추가만약 추가하려는 포트가 예를 들어 8081이라면, 아래 명령어로 추가할 수 있습니다.bash코드 복사s.. 2024. 10. 14.
Centos 7 jar 파일 스프링부트 프로퍼티 구분하기 서버에서 스프링으로 할때는  Tomcat 서버로 돌리기 때문에 보통 .war 로 업로드하여 설정하곤 하지만 보안상 이유로 나는 스프링부트를 이용해서 .jar 파일로 업로드 한다. 그때  nohup java -jar xx.jar &  이 명령어로 백그라운드 무중단 배포를 진행하는데  해당 local.properties 를 구분해놔서 어떻게 구분해놓은 프로퍼티들을 적용해야할지 몰랐다. 그래서 한번 구글링해보았다.  Centos 7 jar 파일 스프링부트 프로퍼티 구분하기Spring Boot에서 bootJar 명령은 Maven이나 Gradle을 사용하여 애플리케이션을 JAR 파일로 패키징하는 방법입니다. 기본적으로 이 명령은 현재 활성화된 프로파일에 따라 패키징됩니다. 따라서, 프로파일을 설정하지 않으면 기본.. 2024. 10. 14.
Centos 7. 에서 Mysql data import 방법 Linux 서버 뿐 아니라 로컬 에서도 Mysql data import 혹은 export 를 해야할 상황이 있다.로컬에서는 당연히 workbench 를 사용하기 때문에 간단히 import , export 를 할 수 있다. 하지만 Linux 서버에서는 로컬 언어를 사용하기 때문에 지식이 필요해서 여기에다 그 지식을 적어 놓으려 한다 ㅎㅎ  1. MySQL 로그인먼저 MySQL에 로그인해야 합니다. 터미널에서 다음 명령어를 입력하여 MySQL 서버에 접속합니다:bash코드 복사mysql -u root -p여기서 root는 MySQL 사용자의 이름입니다. 비밀번호를 입력하라는 메시지가 나타나면 MySQL root 사용자의 비밀번호를 입력합니다.  2. 데이터베이스 선택 또는 생성임포트할 데이터를 넣을 데이터베.. 2024. 10. 14.
Java_ buildType 활용하여 debug, release 구분하기 처음에 React Native 를 했을때를 기억을 되살려보면서 안드로이드 디버그와 릴리즈모드를 구분해서 진행하기로 했다.근데 React Native에서 모드를 구분했을때랑은 약간 다른 느낌을 받았다.  Debug / Main / Release 이렇게 3가지 구조로 나눈다.  Debug / Release 에 values , json 파일들  넣어놨는데 저기에 해당된 데이터들은 모두 적용이 되고 나머지 해당되지 않는 데이터는 main 에서의 폴더 및 파일이 자동으로 채워진다. 그리고 google-services.json 데이터 안에  .debug 서픽스를 추가 시켜준다.  그래서 Admob , 등 디버그와 릴리즈가 분리되어 있는 고유 키값들은  Debug / Release 이 2개의 폴더에 넣어놓기만 하.. 2024. 10. 2.
"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
728x90