1.centos7里面或者window本机创建一个.net项目都行,在appsettings.json中配置(不止这种办法配置)
2.在/etc/nginx/conf.d/*.conf里面配置
3.输入sudo systemctl reload nginx,重新加载nginx的配置文件,然后dotnet run开启.net项目
4.打开浏览器,输入http://(配置的server_name),可以访问到
其他可能遇到的问题
(1)防火墙拦截
-
检查防火墙规则:首先,检查当前防火墙规则以确定哪些规则可能阻止了您的连接。使用以下命令查看当前的防火墙规则:
sudo firewall-cmd --list-all
-
允许特定端口:如果您知道您的连接使用了特定的端口,您可以允许该端口通过防火墙。例如,如果您的连接使用 HTTP(80)端口,可以使用以下命令允许 HTTP 流量通过:
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
然后,重新加载防火墙规则以使更改生效:
sudo firewall-cmd --reload
这将允许通过指定端口的连接。
-
允许特定服务:如果您的连接使用了特定的服务(如 SSH、HTTP、HTTPS 等),您可以直接允许该服务通过防火墙。例如,要允许 HTTP 和 HTTPS 服务,可以使用以下命令:
sudo firewall-cmd --zone=public --add-service=http --add-service=https --permanent
然后,重新加载防火墙规则以使更改生效:
sudo firewall-cmd --reload
这将允许通过指定服务的连接。
-
禁用防火墙:如果您不需要使用防火墙,或者暂时希望禁用防火墙以测试连接,可以使用以下命令禁用防火墙:
sudo systemctl stop firewalld
这将停止防火墙服务。请注意,禁用防火墙可能会降低服务器的安全性,请在生产环境中小心使用。
这些操作可以帮助您处理 CentOS 7 防火墙拦截的连接问题。根据您的具体需求和配置,选择适当的方法来允许所需的连接通过防火墙。
(2)selinux策略拦截
-
检查SELinux的当前状态:
ses tatus
确保SELinux状态为"Enforcing"(强制执行)或"Permissive"(宽松执行)。如果状态为"Disabled"(禁用),则无需进行SELinux策略更改。
-
检查Nginx与后端服务器之间的连接是否由SELinux阻止:
grep nginx /var/log/audit/audit.log | grep denied
如果输出中显示了由SELinux拒绝的相关条目,表示SELinux阻止了Nginx与后端服务器之间的连接。
-
使用audit2allow工具生成自定义SELinux策略模块:
grep nginx /var/log/audit/audit.log | grep denied | audit2allow -M nginx_connect
这将读取由SELinux拒绝的条目,并生成一个名为"nginx_connect.pp"的自定义SELinux策略模块。
-
安装自定义SELinux策略模块:
semodule -i nginx_connect.pp
这将安装生成的自定义SELinux策略模块。
-
重新启动Nginx服务:
systemctl restart nginx
重新启动Nginx以使新的SELinux策略生效。
这些步骤将允许Nginx与后端服务器之间的连接,并解决由SELinux引起的拒绝访问问题。请注意,这些步骤可能因为您的系统设置而有所不同。确保您在执行之前备份重要的系统文件,并根据您的具体环境进行适当的调整。
(3)DNS没有解析到域名
-
登录到 CentOS 服务器,并以 root 或具有管理员权限的用户身份打开终端。
-
打开
/etc/hosts
文件以编辑本地主机文件:sudo vi /etc/hosts
-
在文件中,您会看到类似以下的条目:
127.0.0.1 localhost ::1 localhost
-
在这些条目的下方添加一个新行,指定您想要解析的域名和相应的 IP 地址。例如:
127.0.0.1 myaspnetcoreapp.com ::1 myaspnetcoreapp.com
这里假设您的应用程序运行在本地服务器上,因此将域名解析到
127.0.0.1
或::1
(IPv6)。如果应用程序运行在其他服务器上,请将 IP 地址替换为相应的服务器 IP 地址。 -
保存并关闭文件。
现在,您的 CentOS 服务器将解析 myaspnetcoreapp.com
到指定的 IP 地址。这样,当您在服务器上访问 http://myaspnetcoreapp.com
时,将会定向到您指定的 IP 地址。
请注意,这种方法是在本地主机文件中进行 DNS 解析的一种简单方式,适用于在开发或测试环境中使用。在生产环境中,您可能需要使用公共 DNS 服务器或者与域名注册商或托管服务提供商合作来配置实际的 DNS 解析。