VPS https 和域名重定向

VPS https 和域名重定向

我最近买了一个 vps(apache + ubuntu),并使用为我的域创建了 ssl 证书acme.sh --issue --dns -d example.com -d www.example.com并获得了它们。但对于我的域,我希望激活 https 并重定向到 https。这是我的 VH 配置:

<VirtualHost *:80>
    ServerName cihanbatasul.com
    ServerAlias www.cihanbatasul.com
    RewriteEngine On
    RewriteCond %{REQUEST_URI} !^/\.well\-known/acme\-challenge/
    RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]
    #Redirect permanent / https://cihanbatasul.com              
</VirtualHost>


<VirtualHost *:443>
    ServerName cihanbatasul.com
    ServerAlias www.cihanbatasul.com
    SSLEngine on

    # curl https://ssl-config.mozilla.org/ffdhe2048.txt >> /path/to/signed_cert_and_intermediate_certs_and_dhparams
    SSLCertificateFile      /root/.acme.sh/cihanbatasul.com_ecc/fullchain.cer
    SSLCertificateKeyFile   /root/.acme.sh/cihanbatasul.com_ecc/cihanbatasul.com.key

    # enable HTTP/2, if available
    Protocols h2 http/1.1

    # HTTP Strict Transport Security (mod_headers is required) (63072000 seconds)
    Header always set Strict-Transport-Security "max-age=63072000"

</VirtualHost>

我的页面上的警告: 在此处输入图片描述

我尝试使用 RedirectRule 标签,但没有效果。希望得到帮助。谢谢!

编辑:我购买此 vps 的目的是托管我的后端应用程序并在前端调用它。我的前端托管在 godaddy 的托管服务上。我将后端放在 docker 容器中,并让它在我的 vps 的端口 8080 上运行。它是一个简单的 rest api https 服务器,它有一个端点,当有人在我的前端填写联系表格时,它会向我发送电子邮件。但要使其正常工作,它需要是一个 https 站点。现在我在控制台中收到错误:

index-HS5-14da.js:48 
        
        
       POST https://92.205.185.35:8080/email/ net::ERR_CONNECTION_REFUSED
r @ index-HS5-14da.js:48
Mg @ index-HS5-14da.js:37
jg @ index-HS5-14da.js:37
Rg @ index-HS5-14da.js:37
lc @ index-HS5-14da.js:37
fh @ index-HS5-14da.js:37
(anonymous) @ index-HS5-14da.js:37
tu @ index-HS5-14da.js:40
zd @ index-HS5-14da.js:37
As @ index-HS5-14da.js:37
ja @ index-HS5-14da.js:37
Gg @ index-HS5-14da.js:37
index-HS5-14da.js:48 TypeError: Failed to fetch
    at r (index-HS5-14da.js:48:9155)
    at Object.Mg (index-HS5-14da.js:37:9855)
    at jg (index-HS5-14da.js:37:10009)
    at Rg (index-HS5-14da.js:37:10066)
    at lc (index-HS5-14da.js:37:31439)
    at fh (index-HS5-14da.js:37:31856)
    at index-HS5-14da.js:37:36768
    at tu (index-HS5-14da.js:40:36808)
    at zd (index-HS5-14da.js:37:8991)
    at As (index-HS5-14da.js:37:33142)

答案1

呃...我对 Apache 有点生疏,但我相信这是混乱的部分:

RewriteRule ^(.*)$ https://%{HTTP_HOST}$1 [R=301,L]
                                       ^
                                      / \

因为缺少了a /,所以规则就变成了RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]?

据我回忆,$1包含原始站点上调用的任何相对 URL foo/bar,并且由于/域名和相对 URL 之间缺失,重定向 URL 因此变得无效。

相关内容