Apache와 nginx가 포함된 SSL

Apache와 nginx가 포함된 SSL

저는 정적 웹사이트와 이메일 서버를 위해 nginx를 실행하고 원격 debian 10 서버의 nextcloud 인스턴스를 위해 apache2를 실행하고 있습니다.

둘 다에 SSL을 사용하고 싶습니다. 저는 apache2가 443(ssl의 경우) 대신 8443 포트와 http의 경우 8080(80 대신) 포트를 수신하도록 설정했습니다.

certbot내 신청은 두 서버 모두에서 성공했습니다.

하지만 지금 가면https://nextcloud.mydomain.com(아파치가 있는 경우) 여전히 "경고: 잠재적인 보안 위험이 있습니다"라는 메시지가 표시됩니다. 시험용이 웹사이트표시: nginx를 사용하여 실행하는 사이트는 유효한 인증서가 있는 사이트입니다. https 접두사로 인해 브라우저가 8443 대신 포트 443을 요청하기 때문인 것 같습니다.

이 문제를 어떻게 해결할 수 있나요?

관련 문서 내용:

/etc/nginx/sites-available/mysite:

server {

    root /path/to/website;

    index index.html index.htm ;

    server_name mydomain.com www.mydomain.com ;

    location / {
        proxy_pass http://localhost:8080;
        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;
        try_files $uri $uri/ =404;
    }


    listen [::]:443 ssl ipv6only=on; # managed by Certbot
    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/mydomain.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/mydomain.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}
server {
    if ($host = www.mydomain.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    if ($host = mydomain.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    listen 80 ;
    listen [::]:80 ;

    server_name mydomain.com www.mydomain.com ;
    return 404; # managed by Certbot
}

/etc/apache2/ports.conf:

# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default.conf

Listen 8080

<IfModule ssl_module>
    Listen 9000
</IfModule>

<IfModule mod_gnutls.c>
    Listen 8443
</IfModule>

<IfModule mod_ssl.c>
    Listen 8443
</IfModule>
# vim: syntax=apache ts=4 sw=4 sts=4 sr noet

위의 포트 ssl_module을 9000으로 변경했습니다. 모두 8443으로 설정하면 오류가 발생했기 때문입니다.

/etc/apache2/sites-available/000-default.conf그리고 시작 /etc/apache2/sites-available/nextcloud.conf:

<VirtualHost *:8080>
[...]

/etc/apache2/sites-available/default-ssl.conf그리고 시작 /etc/apache2/sites-availble/nextcloud-le-ssl.conf:

<IfModule mod_ssl.c>
    <VirtualHost *:8443>
[...]

4개 파일 모두 심볼릭 링크를 갖고 있습니다 /etc/apache2/sites-enabled.

답변1

나는 팔로우한다이 가이드오히려 문제 해결에 도움이 되었습니다.

관련 정보