종량제 Azure App Service용 사용자 지정 도메인

가장 저렴한 AppService 계획으로 Azure의 AppService에 애플리케이션을 배포하면 도메인을 사용자 지정할 수 없습니다. 여기에서는 자신의 서버로 빠르게 극복할 수 있는 방법을 보여드리겠습니다.


전제 조건:


  • 지속적으로 실행되는 SSH를 통해 서버에 액세스할 수 있습니다.

  • SSL 인증서가 생성되었습니다.

    (NOTE: You can easily generate your SSL certificates with Let’s Encrypt)


  • DNS 진입점 secrets.your.domain 서버의 IP로:secrets.your.domain. 59 IN A 104.245.210.170

  • 맞춤 도메인 설정



    위의 모든 구성이 완료되면 아래 단계를 따를 수 있습니다.
  • 서버에 로그인합니다.
  • OS에 NGINX를 설치합니다. 예: CentOS:
    sudo yum install nginx
  • Nginx는 자체적으로 시작되지 않습니다. Nginx를 실행하려면 다음을 입력합니다.
    sudo systemctl start nginx
  • 방화벽에서 HTTP/HTTPS 통신을 활성화하십시오. 예를 들어 CentOS:

  • sudo firewall-cmd --permanent --zone=public --add-service=http
    sudo firewall-cmd --permanent --zone=public --add-service=https
    sudo firewall-cmd –reload
    


  • NGINX 구성에 가까운 SSL 인증서의 위치를 ​​만들고 여기에 넣습니다.

  • mkdir /etc/nginx/ssl
    mv fullchain.pem /etc/nginx/ssl/your.domain.crt
    mv privatekey.pem /etc/nginx/ssl/your.domain.key
    


  • 새 구성 파일을 만듭니다.
    vim /etc/nginx/conf.d/secerts.your.domain.conf
  • 이 부분은 HTTP를 HTTPS로 리디렉션합니다.

  • server {
      listen 80;
       listen [::]:80;
       server_name secrets.your.domain;
       return 301 https://$host$request_uri;
    }
    


  • 이 부분은 대상 URL에 대한 프록시 전달을 실행합니다.

  •  server {
           listen      443 ssl http2 default_server;
           listen      [::]:443 ssl http2 default_server;
           server_name secrets.your.domain;
           root        /usr/share/nginx/html;
           ssl_certificate "/etc/nginx/ssl/your.domain.crt";
           ssl_certificate_key "/etc/nginx/ssl/your.domain.key";
           ssl_session_cache shared:SSL:1m;
           ssl_session_timeout 10m;
           ssl_ciphers HIGH:!aNULL:!MD5;
           ssl_prefer_server_ciphers on;
           location / {
               proxy_pass https://some-service-secrets.azurewebsites.net;
           }
           error_page 404 /404.html;
           location = /404.html {
           }
           error_page 500 502 503 504 /50x.html;
           location = /50x.html {
           }
       }
    


  • NGINX 다시 로드:
    nginx -s reload 또는
    systemctl restart nginx
  • 좋은 웹페이지 즐겨찾기