Soketi를 사용하여 서버에 SSL 설치

4137 단어 soketiec2laravelssl
이 부분에서는 Soketi를 구성하는 방법과 SSL 인증서를 설치하는 방법을 살펴봅니다.

1단계: Soketi의 기본 구성 변경



This step is optional



아시다시피 Soketi의 기본 자격 증명은 다음과 같습니다.
  • 앱 ID: app-id
  • 앱 키: 앱 키
  • 비밀: 앱 비밀

  • 이러한 자격 증명을 변경하려면 먼저 폴더를 만들어야 합니다.

    sudo mkdir /etc/my_soketi
    


    폴더 입력(원하는 폴더/파일 이름 변경)

    cd /etc/my_soketi
    

    json 파일 생성config.json
    sudo vim config.json
    


    포함:

    {
      "debug": true,
      "port": 6001,
      "appManager.array.apps": [
        {
          "id": "your-new-id",
          "key": "your-new-key",
          "secret": "your-new-secret"
        }
      ]
    }
    


    Soketi make"debug": true,의 로그를 보고 싶으면 false로 만드십시오.

    이제 Soketi에서 실행 중인 pm2 서버를 꺼야 합니다.

    pm2 stop soketi
    


    If you need to know the name run pm2 status and take the name of service



    이제 다음과 같이 Soketi 서버를 다시 실행하십시오.

    pm2 start soketi -- start --config=/etc/my_soketi/config.json
    


    이제 .env 파일에 있는 Laravel 프로젝트의 자격 증명을 새 것으로 변경합니다.

    2단계: IP를 도메인과 연결



    도메인 제공 업체로 이동하여 새 하위 도메인(도메인)을 만들고 새 레코드를 만든 다음 공인 IP를 입력합니다.

    도메인을 열 때 OK를 반환하여 하위 도메인이 Soketi 서버를 실행하는지 확인한 후 Nginx 구성 파일로 이동하여 server_name를 하위 도메인으로 업데이트합니다.

    sudo vim /etc/nginx/nginx.conf
    
    server_name  your_subodmain;
    


    이제 Nginx를 다시 시작하십시오.

    sudo systemctl restart nginx.service
    


    3단계: SSL 설치


    let's encrypt를 사용하여 내 도메인에 SSL을 설치하겠습니다.

    SSL을 설치하려면 다음 세 가지 명령을 실행하십시오.

    sudo yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
    
    sudo yum-config-manager --enable epel
    
    sudo yum install certbot python2-certbot-nginx -y
    


    그런 다음 다음을 실행합니다.

    sudo certbot --nginx
    


    몇 가지 질문이 표시됩니다.

    1. type your email: [email protected]
    2. (Y)es/(N)o: y
    3. (Y)es/(N)o: y
    4. 
blank to select all options shown (Enter 'c' to cancel): 1
    


    이제 방문하면 도메인에서 SSL을 얻을 수 있습니다.

    인증서를 자동으로 갱신하려면 crontab을 통해 cronjob을 설정해야 합니다. 명령은 다음과 같습니다.

    sudo crontab -e
    


    이 줄을 파일에 넣으십시오.

    0 3 * * * sudo certbot renew >/dev/null 2>&1
    


    4단계: SSL을 사용하여 Laravel 앱을 구성합니다.


    .env에서:

    PUSHER_APP_KEY=key
    PUSHER_APP_ID=id
    PUSHER_APP_SECRET=secret
    PUSHER_HOST="sub.app.co"
    PUSHER_PORT=443
    PUSHER_SCHEME=https
    
    VITE_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
    VITE_PUSHER_HOST="${PUSHER_HOST}"
    VITE_PUSHER_PORT="${PUSHER_PORT}"
    VITE_PUSHER_SCHEME="${PUSHER_SCHEME}"
    

    bootstrap.js에서:

    window.Echo = new Echo({
        broadcaster: "pusher",
        key: import.meta.env.VITE_PUSHER_APP_KEY,
        forceTLS: false,
        encrypted: import.meta.env.VITE_PUSHER_ENCRYPTED === "true",
        wsHost: import.meta.env.VITE_PUSHER_HOST,
        wsPort: import.meta.env.VITE_PUSHER_PORT,
        wssPort: import.meta.env.VITE_PUSHER_PORT,
        disableStats: true,
        enabledTransports: ["ws", "wss"],
    });
    


    그게 다야 🚀

    이 시리즈를 마무리하는 데 도움을 준 laracast.com의 @Sinnbeck에게 감사드립니다 ❤️

    좋은 웹페이지 즐겨찾기