如何连接我的域和 Spring-boot 项目?

如何连接我的域和 Spring-boot 项目?

我的环境:Linux、Maven、AWS EC2、Spring Boot

当我连接到 EC2 的 Elastic IP 时,我可以看到项目的主屏幕。但是,当我尝试连接到购买的 .dev 域时,我得到了403 错误Apache 测试页面

我想,也许我没有输入正确的路径。或者,权限设置不正确。

于是我修改了httpd.conf文件,但问题还是没有解决。你能检查一下哪一个是错误的吗?


请检查我的代码

需要执行的文件路径在“/home/ec2-user/project/src/main/WEB-INF/views/home.jsp”。


etc/httpd/conf/httpd-le-ssl.conf

<IfModule mod_ssl.c>
<VirtualHost *:443>
    DocumentRoot "/home/ec2-user"
    ServerName "test.dev"
    ServerAlias "www.test.dev"
    Include /etc/letsencrypt/options-ssl-apache.conf
    SSLCertificateFile /etc/letsencrypt/live/test.dev/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/test.dev/privkey.pem
</VirtualHost>
</IfModule>


等/httpd/conf/httpd.conf

# set IP addresses

Listen 80
    
<VirtualHost *:80>
    DocumentRoot "/home/ec2-user"
    ServerName "test.dev"
    ServerAlias "www.test.dev"
    RewriteEngine on
    RewriteCond %{SERVER_NAME} =www.test.dev [OR]
    RewriteCond %{SERVER_NAME} =test.dev
    RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>


# set Deny entirety <- default

<Directory />
    AllowOverride none
    Require all denied
</Directory>


# Directory custom setting

DocumentRoot "/home/ec2-user"

<Directory "/home/ec2-user">
    AllowOverride None
    # Allow open access:
    Require all granted
</Directory>

<Directory "/home/ec2-user">
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
</Directory>

# Index position custom setting
<IfModule dir_module>
    DirectoryIndex /project/src/main/webapp/WEB-INF/views/home.jsp
</IfModule>


错误日志

[core:error] [pid 7748] (13)Permission denied: [client XXX.XXX.XXX.XXX] 
AH00035: access to /project/src/main/webapp/WEB-INF/views/home.jsp denied 
(filesystem path '/home/ec2-user/project/src') because search permissions are 
missing on a component of the path

ec2-user 的权限 在此处输入图片描述

项目的权限 在此处输入图片描述

答案1

这个问题经过一番努力终于解决了!分享一下我解决的情况!首先,从一开始处理的方向就错了。

在我的情况下这是正确的。输入路径‘home/ec2-用户’进入文档根目录.参见下面的代码。

<VirtualHost *:80>
    DocumentRoot "/home/ec2-user"
    ServerName "test.dev"
    ServerAlias "www.test.dev"
    ~
</VirtualHost>

httpd 配置到此就完成了。之后,将使用 Nginx 访问 http(80 端口)的所有连接更改为 https(端口 443)。

相关内容