Let's Encrypt는 무료 SSL/TLS 인증서를 제공하는 인증 기관입니다.

CentOS 서버에서 Let's Encrypt SSL 인증서를 등록하고 Nginx 웹 서버에 적용하는 절차는 다음과 같습니다:

1. Certbot 설치:

Certbot은 Let's Encrypt 인증서를 효과적으로 관리할 수 있는 도구입니다. 다음 명령을 사용하여 Certbot을 설치합니다:

90일간 사용할 수 있으며 30일전 부터 갱신 할 수 있다.

bashCopy code
sudo yum install certbot python2-certbot-nginx
# 남은 기간확인
sudo certbot certificates

2. 방화벽 설정:

80(http), 443(https) 모두 열어야 합니다.

firewall-cmd --list-all 명령어로 열린 포트를 확인 할 수 있습니다.

sudo firewall-cmd --permanent --zone=public --add-port=80/tcp
sudo firewall-cmd --permanent --zone=public --add-port=443/tcp
sudo firewall-cmd --reload
sudo firewall-cmd --list-all

3. SSL 인증서 발급:

Certbot을 사용하여 SSL 인증서를 발급합니다. 도메인 이름을 실제 도메인으로 교체해 주세요.

중간에 이메일 등록을 받습니다. 해당 메일 계정으로 갱신 알림메일을 보내 줍니다.

sudo certbot certonly --nginx -d example.com -d www.example.com

위 명령을 실행하면 Certbot은 Nginx 구성을 자동으로 감지하고 도메인에 대한 SSL 인증서를 발급합니다.

발급된 인증서는 /etc/letsencrypt/live/example.com/ 디렉토리에 저장됩니다.

4. Nginx 구성 수정:

Nginx의 설정 파일을 수정하여 새로운 SSL/TLS 인증서를 사용하도록 지정합니다.

80으로 들어오면  https 프로토콜로 리다이렉트 시킵니다.

server {
    listen 80;
    server_name sample.com www.sample.com;
    return 301 https://$host$request_uri;

}

server {
    listen 443 ssl;
    server_name sample.com www.sample.com;

    ssl_certificate /etc/letsencrypt/live/sample.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/sample.com/privkey.pem;

     # 기본 인코딩 설정
    charset utf-8;
    access_log  /var/log/nginx/admin.access.log  main;
    error_log   /var/log/nginx/admin.error.log   warn;

    location / {
        proxy_redirect     off;
        proxy_set_header   Host             $host;
        proxy_set_header   X-Real-IP        $remote_addr;
        proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Proto $scheme;

        # 프록시 연결 설정.
        proxy_pass <http://127.0.0.1:8080/>;
    }

    # redirect server error pages to the static page /50x.html
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

}
~

 

5. Nginx 구성 테스트 및 재시작:

Nginx 구성을 테스트하고 오류가 없는지 확인한 후, Nginx를 재시작하여 변경 사항을 적용합니다:

sudo nginx -t
sudo systemctl restart nginx

 

안드로이드로 머 하나 개발해 보고 싶어서 뚱땅거리는데,, 별의별 에러를 다 만나는것 같다.

 

에러메세지

A problem occurred configuring project ':app'. > Could not create task ':app:Test.main()'. > SourceSet with name 'main' not found.

 

프로젝트에 이런 폴더가 있었던가?

.idea -> gradle.xml

 

한줄 추가

<option name="delegatedBuild" value="false" />

     <GradleProjectSettings>
        <option name="delegatedBuild" value="false" />
        <option name="externalProjectPath" value="$PROJECT_DIR$" />
        <option name="modules">
          <set>
            <option value="$PROJECT_DIR$" />
            <option value="$PROJECT_DIR$/app" />
          </set>
        </option>
      </GradleProjectSettings>

 

 

'Android' 카테고리의 다른 글

local.properties 사용하기  (0) 2023.10.25
Lombok 과 Java Version  (0) 2023.10.16
프로젝트 생성시 템플릿설정  (0) 2023.10.14

Lombok이 의외로 자바버전을 상당히 많이 타는것 같다.

Lombok Changelog에 Lombok 버전별 지원되는 Java버전이 상세히 나와있다.

 

IntelliJ에서 lombok 사용시 문제되는게 사용자가 프로그램 상에서 lombok을 import 시키면 IntelliJ가 자바버전에 맞게 build.gradle의 dependencies에 추가하거나 아니면 추가해야 한다고 에러를 발생시켜야 하는데 자기 임의로(lombok 최신 거의 현재 최신버전은 1.18.30 dependencies에 추가한 버전은 1.18.28) 추가한다는 것이다.

사용자는 프로그램상에서는 문제없는듯 보이지만 builder시 get, set이 정의 되지 않았다는 에러를 보게된다. 

 

 

Java 17 기준

build.gradle > dependencies

 

compileOnly 'org.projectlombok:lombok:1.18.22'
annotationProcessor 'org.projectlombok:lombok:1.18.22'

https://projectlombok.org/changelog

 

changelog

 

projectlombok.org

 

'Android' 카테고리의 다른 글

local.properties 사용하기  (0) 2023.10.25
안드로이드 스튜디오 Java 디버깅 오류  (1) 2023.10.16
프로젝트 생성시 템플릿설정  (0) 2023.10.14

프로젝트 생성시 몇 개의 템플릿이 있는데 ‘Empty Views Activity’로 생성.

심플해서 이해하기 쉽고, 기본 폴더들이 생성되어 있어 프로젝트 구성을 이해하는데 도움을 준다.

Build configuration language는 ‘Groovy DSL(build.gradle)를 선택 인터넷 검색시 가장 많이 노출되는 방법으로 보인다.

'Android' 카테고리의 다른 글

local.properties 사용하기  (0) 2023.10.25
안드로이드 스튜디오 Java 디버깅 오류  (1) 2023.10.16
Lombok 과 Java Version  (0) 2023.10.16

+ Recent posts